java上传文件
来源:互联网 发布:linux man pdf 编辑:程序博客网 时间:2024/05/16 05:07
FileUpload下载地址:
http://commons.apache.org/fileupload/
下载:commons-fileupload-1.2.2-bin.zip 得到:commons-fileupload-1.2.2.jar
http://commons.apache.org/io/
下载:commons-io-1.4-bin.zip 得到:commons-io-1.4.jar
思路:
1.上传的文件通过http协议指定格式传输到后台
method="post" action="upload.action" enctype="multipart/form-data"
2.后台获取文件数据 (可以限制上传文件大小upload.setSizeMax())
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(req);
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(req);
3.在指定目录下创建相同名称的文件然后将数据内容写入
String path = request.getServletContetxt().getRealPath("upload").getPath()+"\"+
+item.getName().substring(item.getName().lastIndexOf("/")+1);
item.write(new File(path));
<!--将文件作为一种数据格式;--><!--注意:1.method="post" 2.enctype="multipart/form-data"--><html><form id="form" name="form" method="post" action="upload.action" enctype="multipart/form-data"> <table > <tr> <td > <input type="file" style="font-size:14px" name="filename" /> </td> </tr> <tr> <td > <input type="submit" style="font-size:14px" value="上传文件" /> </td> </tr> </table> </form></html>
import java.io.File;import java.io.IOException;import java.io.PrintWriter;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.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;public class UploadServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {req.setCharacterEncoding("gbk");resp.setContentType("text/html;charset=gbk");PrintWriter out = resp.getWriter(); //磁盘文件工厂类; DiskFileItemFactory factory = new DiskFileItemFactory(); //关联关系创建ServletFileUpload类; ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items;try { //将req中的数据放入表单域;items = upload.parseRequest(req);for(FileItem item : items){//判断是否是文件if(!item.isFormField()) {//文件名称;String filename = item.getName();//前缀路径;//某些浏览器会将文件的绝对路径全部提交;(ie)Y (chrome)N filename = filename.substring(filename.lastIndexOf("\\")+1);//在WebRoot下创建一个uploads文件夹;//找到服务器上的路径upload文件夹;File file = new File(req.getServletContext().getRealPath("uploads")+File.separator+filename);//文件的二进制已经在item对象中,导入file文件;item.write(file);out.print("<html><center >上传成功,3秒后跳转!</center></html>");return ; }}} catch (Exception e) {e.printStackTrace();}out.print("<html><center>上传失败!</center></html>");} }
web.xml
web.xml <servlet> <servlet-name>upload</servlet-name> <servlet-class>cn.lh.web.UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/upload.action</url-pattern> </servlet-mapping>
0 0
- Java 文件上传 JQ 文件上传
- java文件上传原理
- java文件上传原理
- java上传文件
- 上传文件 JSP+java
- JAVA上传文件
- java上传文件
- java fileupload上传文件
- java-文件上传案例
- JAVA上传EXCEL文件
- java上传文件
- java 超大文件上传
- java上传文件实例
- java 文件上传
- JAVA 上传文件类
- JAVA之"文件上传"
- java文件上传
- java文件上传方法
- 数据库-编译原理
- 常用的php文件处理函数
- eclipse换肤
- 【源码分享下载】每日更新之Android快速开发框架LoonAndroid
- 关于unix下实际用户ID、有效用户ID、设置用户ID、文件所有者ID的一点理解
- java上传文件
- 网站收集
- WARNING: Phonon needs QCoreApplication::applicationName to be set to export audio output names thro
- 二叉树的遍历
- Android版本名和API Level对应关系
- Nginx学习之二-配置项解析及编程实现
- gethostbyname和struct hostent详解
- LeetCode:Word Break II
- 为爱重启