您的位置:首页 > 编程语言 > Java开发

java中上传下载文件

2015-09-11 01:15 323 查看

一、用 jspSmartUpload 上传组件

         a、上传就是将客户端的文件保存到服务器端,上传其实就是文件的读写。

         b、目前的组件有多种

               1、jspSmartUpload 上传组件(该组件简单,几行代码就可以上传组件,主要在servlet开发中使用)。

               2、struts2 框架中也有上传的组件。

               3、spring mvc 中也有上传的组件。

二、jspSmartUpload上传组件的使用

        使用步骤:

               a、找到需要的 jar 包,放在 lib 目录中。

               b、上传的表单需要封装(enctype="multipart/form-data",如下所示)。

               c、建立上传的 servlet 处理类。

             注:第二行必须有 name 属性,不然传不上去,首先要把项目加载到 Tomcat 中去

<form action="servlet/UploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file1"/>
<input type="submit" value="提交"/>
</form>
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.File;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

public class UploadServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //创建上传下载对象
        SmartUpload su=new SmartUpload();
        //初始化
        su.initialize(super.getServletConfig(), request, response);        
        //设置上传类型
        su.setAllowedFilesList("jpg");
        try {
            //上传
            su.upload();
            //得到文件对象
            File f=su.getFiles().getFile(0);
            //得到文件后缀名
            String ext=f.getFileExt();
            //System.out.println(ext);
            //保存,super.getServletContext().getRealPath 得到项目的启动路径
            su.save(super.getServletContext().getRealPath("/files/"));
            response.sendRedirect("../list.jsp");
        } catch (SmartUploadException e) {
            e.printStackTrace();
        }
    }
}

三、下载

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;

public class Down extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        this.doPost(request, response);
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //得到要下载的文件名
        String fileName=request.getParameter("fileName");
        //创建上传下载对象
        SmartUpload su=new SmartUpload();
        //初始化
        su.initialize(super.getServletConfig(), request, response);
        //设置浏览器是否自动打开
        su.setContentDisposition(null);
        try {
            //下载
            su.downloadFile(super.getServletContext().getRealPath("/files/"+fileName));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息