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();
}
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树