• 大小: 206KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: Java
  • 标签: java  文件  上传  下载  

资源简介

java web文件上传与下载的小例子 喜欢的同学可以参考一下

资源截图

代码片段和文件信息

package com.java.servlet;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

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.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

/**
 * 
 * @author zero
 *
 */
public class UploadHandleServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req HttpServletResponse resp)
throws ServletException IOException {

System.out.println(“get the request from the page....“);

String path = req.getRealPath(“/upload“);//create a path to save the file uploaded

System.out.println(path);

File file = new File(path);
file.mkdirs();
  
        DiskFileItemFactory factory = new DiskFileItemFactory();  
        factory.setRepository(file);   //set temporary file
   factory.setSizeThreshold(1024*1024);//set temporary file‘s size
  
   ServletFileUpload upload = new ServletFileUpload(factory);
   upload.setHeaderEncoding(“UTF-8“);//set the encoding language
  
   try {
   List list = (List)upload.parseRequest(req);  //get the item list from the from label
  
   for(FileItem item : list) {
   String name = item.getFieldName();   //get the file(field or real file)‘s name
   if(item.isFormField()) {
System.out.println(“just a simple field....“);
String value = item.getString();
System.out.println(name + “ = “ + value );
   req.setAttribute(name value);
   }else{
    String value = item.getName();//this item is real file
    
System.out.println(“got a real file“);  

    int start = value.lastIndexOf(“\\“);
    String filename = value.substring(start+1);//获得真正的文件名字,通常这一步转化只有在使用Opera浏览器时才需要使用
    
System.out.println(“file name : “ + filename);
  
    req.setAttribute(name  filename);
  
    File f1 = new File(pathfilename);
    
    OutputStream os = new FileOutputStream(f1);
    InputStream is = item.getInputStream();
    
    byte[] buffer = new byte[400];
    int length;
    
    while((length = is.read(buffer))!=-1) {
    os.write(buffer 0 length);
    }
    
    is.close();
    os.close();
System.out.println(“generate a file in the server.....“);
         req.getRequestDispatcher(“index.jsp?&fileName=upload/“ + filename).forward(req resp);
   }
   }
   }catch(Exception e) {
   e.printStackTrace();
   }
  
}

@Override
protected void doPost(HttpServletRequest req HttpServletResponse resp){
try {
doGet(req resp);
} catch (ServletException e) {
e.printStack

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-03-30 19:03  FileUploadDownLoad\
     文件         853  2015-03-30 19:03  FileUploadDownLoad\.classpath
     文件        1343  2015-03-30 19:09  FileUploadDownLoad\.project
     目录           0  2015-03-30 19:03  FileUploadDownLoad\.settings\
     文件         522  2015-03-30 19:03  FileUploadDownLoad\.settings\.jsdtscope
     文件         364  2015-03-30 19:03  FileUploadDownLoad\.settings\org.eclipse.jdt.core.prefs
     文件         515  2015-03-30 19:03  FileUploadDownLoad\.settings\org.eclipse.wst.common.component
     文件         348  2015-03-30 19:03  FileUploadDownLoad\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2015-03-30 19:03  FileUploadDownLoad\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2015-03-30 19:03  FileUploadDownLoad\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2015-03-30 20:21  FileUploadDownLoad\WebRoot\
     目录           0  2015-03-30 19:03  FileUploadDownLoad\WebRoot\meta-INF\
     文件          39  2015-03-30 19:03  FileUploadDownLoad\WebRoot\meta-INF\MANIFEST.MF
     目录           0  2015-03-30 19:03  FileUploadDownLoad\WebRoot\WEB-INF\
     目录           0  2015-03-30 19:12  FileUploadDownLoad\WebRoot\WEB-INF\classes\
     目录           0  2015-03-30 19:12  FileUploadDownLoad\WebRoot\WEB-INF\classes\com\
     目录           0  2015-03-30 19:12  FileUploadDownLoad\WebRoot\WEB-INF\classes\com\java\
     目录           0  2015-03-30 19:12  FileUploadDownLoad\WebRoot\WEB-INF\classes\com\java\servlet\
     文件        4599  2015-03-30 21:12  FileUploadDownLoad\WebRoot\WEB-INF\classes\com\java\servlet\UploadHandleServlet.class
     目录           0  2015-03-30 19:03  FileUploadDownLoad\WebRoot\WEB-INF\lib\
     文件       57779  2015-03-30 19:03  FileUploadDownLoad\WebRoot\WEB-INF\lib\commons-fileupload-1.2.1.jar
     文件       87776  2015-03-30 19:03  FileUploadDownLoad\WebRoot\WEB-INF\lib\commons-io-1.3.2.jar
     文件        1019  2015-03-30 19:45  FileUploadDownLoad\WebRoot\WEB-INF\web.xml
     文件        1611  2015-03-30 21:00  FileUploadDownLoad\WebRoot\index.jsp
     文件      247351  2015-03-30 20:21  FileUploadDownLoad\WebRoot\jquery-2.1.1.js
     目录           0  2015-03-30 19:12  FileUploadDownLoad\src\
     目录           0  2015-03-30 19:12  FileUploadDownLoad\src\com\
     目录           0  2015-03-30 19:12  FileUploadDownLoad\src\com\java\
     目录           0  2015-03-30 19:12  FileUploadDownLoad\src\com\java\servlet\
     文件        3107  2015-03-30 21:12  FileUploadDownLoad\src\com\java\servlet\UploadHandleServlet.java

评论

共有 条评论