javaweb上传

来源:互联网 发布:java web出卷考试系统 编辑:程序博客网 时间:2024/05/17 21:53
<span style="font-size:18px;">用到的jar包 comm.io-2.4 commons-fileupload-1.3</span>
<span style="font-size:18px;"></span>
<span style="font-size:18px;"></span><pre name="code" class="java">package com.hwj.model;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.util.Iterator;import java.util.List;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.hwj.interfaces.CourseServices;import com.hwj.services.CourseServicesImp;import com.hwj.utils.FileUtil;public class BackUploadCl extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");//所需存入数据库的字段String videoName="";String courseName="";String chapName="";ServletContext servletContext=this.getServletContext();if(request.getContentLength()>297){DiskFileItemFactory factory=new DiskFileItemFactory();//设置临时文件临界值//factory.setSizeThreshold(100*1024*1024); //设置临时文件路径factory.setRepository(new File("C:\\Users\\jia\\Desktop\\temp"));//创建一个新的uplodaFile的handleServletFileUpload upload=new ServletFileUpload(factory);//上传内容大小upload.setFileSizeMax(500*1024*1024);List items=null;try {items=upload.parseRequest(request);} catch (FileUploadException e) {e.printStackTrace();}Iterator iterator=items.iterator();while(iterator.hasNext()){FileItem item=(FileItem) iterator.next();//如果是普通表单if(item.isFormField()){//普通字段String name=item.getFieldName();String value=item.getString("utf-8");if(name.equals("videoName")){videoName=value;}else if(name.equals("courseName")){courseName=value;}else if(name.equals("chapName")){chapName=value;}}else{//文件上传表单,获取所有属性  String fieldName = item.getFieldName();            String fileName = item.getName();            String contentType = item.getContentType();            boolean isInMemory = item.isInMemory();            long sizeInBytes = item.getSize();            String realPath=servletContext.getRealPath("WEB-INF\\uploadFile");                   // System.out.println(fieldName+" "+fileName+" "+contentType+" "+isInMemory+" "+sizeInBytes+" "+realPath);          //上传资源          FileUtil.uploadFile(item.getInputStream(), realPath+"\\"+fileName);          //删除临时文件          item.delete();}}}else{//没文件System.out.println("没文件");}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response);}}
<span style="font-size:18px;"></span>
<span style="font-size:18px;"></span><pre name="code" class="java">public class FileUtil {public static void uploadFile(InputStream is,String path){FileOutputStream fos=null;try {fos = new FileOutputStream(new File(path));byte[] buff=new byte[1024];    int length=-1;    while((length=is.read(buff))!=-1){      fos.write(buff,0,length);     }} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{close(is, fos);}}
主要就这两个类


                                             
1 0
原创粉丝点击