需要 commons-io与commons-fileupload

首先在jsp中创建一下布局
  1. <%@ page contentType="text/html;charset=UTF-8" language="java"%>
  2. <html>
  3. <head>
  4. <title>$Title$</title>
  5. </head>
  6. <body>
  7. <form action="MyServlet" method="post" enctype="multipart/form-data">
  8. 最简单的文件上传:<input type="file" name="fileupload"/>
  9. 描述:<input type="text" name="desc"/>
  10. <input type="submit" value="submit"/>
  11. </form>
  12. </body>
  13. </html>

然后创建一个servlet类
并在dopost方法中写入上传文件代码
  1. request.setCharacterEncoding("UTF-8");
  2. response.setCharacterEncoding("UTF-8");
  3. //1、创建一个DiskFileItemFactory工厂
  4. DiskFileItemFactory factory =newDiskFileItemFactory();
  5. //2、创建一个文件上传解析器
  6. ServletFileUpload upload =newServletFileUpload(factory);
  7. //解决上传文件名的中文乱码
  8. upload.setHeaderEncoding("UTF-8");
  9. factory.setSizeThreshold(1024*500);//设置内存的临界值为500K
  10. File linshi =newFile("E:\\linshi");//当超过500K的时候,存到一个临时文件夹中
  11. factory.setRepository(linshi);
  12. upload.setSizeMax(1024*1024*5);//设置上传的文件总的大小不能超过5M
  13. try{
  14. // 1. 得到 FileItem 的集合 items
  15. List<FileItem>/* FileItem */items = upload.parseRequest(request);
  16. // 2. 遍历 items:
  17. for(FileItem item : items){
  18. // 若是一个一般的表单域, 打印信息
  19. if(item.isFormField()){
  20. String name = item.getFieldName();
  21. String value = item.getString("utf-8");
  22. System.out.println(name +": "+ value);
  23. }
  24. // 若是文件域则把文件保存到 e:\\files 目录下.
  25. else{
  26. String fileName = item.getName();
  27. long sizeInBytes = item.getSize();
  28. System.out.println(fileName);
  29. System.out.println(sizeInBytes);
  30. InputStream in = item.getInputStream();
  31. byte[] buffer =newbyte[1024];
  32. int len =0;
  33. fileName ="e:\\files\\"+ fileName;//文件最终上传的位置
  34. System.out.println(fileName);
  35. OutputStream out =newFileOutputStream(fileName);
  36. while((len = in.read(buffer))!=-1){
  37. out.write(buffer,0, len);
  38. }
  39. out.close();
  40. in.close();
  41. }
  42. }
  43. }catch(FileUploadException e){
  44. e.printStackTrace();
  45. }
 

JavaWeb实现上传文件的更多相关文章

  1. JavaWeb笔记——上传文件

    jsp上传文件 *<form>标签method属性必须为post,并且添加enctype="multipart/form-data"属性   ------------- ...

  2. javaWeb中使用ajax上传文件

    javaWeb上传图片 上传文件所必要的两个jar包:commons-fileupload.jar.commons-io.jar. jar包下载:github路径 核心代码: String withP ...

  3. JAVAWeb SSH框架 上传文件,如2007的EXCEL

    下面的代码是上传EXCEL的代码,其实,就是在上传文件到服务器,代码都差不多,只是接收的文件的类型改一下即可. 1.jsp 用的是struts2 标签 代码: <s:file name=&quo ...

  4. Javaweb向服务器上传文件以及从服务器下载文件的方法

    先导入jar包 点击下载 commons-fileupload是Apache开发的一款专门用来处理上传的工具,它的作用就是可以从request对象中解析出,用户发送的请求参数和上传文件的流. comm ...

  5. javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案

    在开发项目时,有时候需要用到上传功能,比如头像上传等,其文件会保存到服务器中.但是我发现在用eclipse做项目的过程中,每次重新部署项目,原来上传的文件就会丢失. 其原因是因为每次项目修改后,ecl ...

  6. javaweb上传文件夹

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...

  7. [JavaWeb基础] 009.Struts2 上传文件

    在web开发中,我们经常遇到要把文件上传下载的功能,这篇文章旨在指导大家完成文件上传功能 1.首先我们需要一个上传文件的页面. <!--在进行文件上传时,表单提交方式一定要是post的方式, 因 ...

  8. 上传文件服务与web服务分离

    业务场景:1. 后端服务为java web应用,使用tomcat容器,多实例集群化部署.2. 前端使用nginx作为后端应用的反向代理. 业务需求:现在需要在java web应用端上传文件,同时还要能 ...

  9. java+web上传文件夹内的所有文件

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...

随机推荐

  1. boost-1.53源代码编译

    1.下载源代码.首先得明确,boost大多数库都仅仅有头文件.链接时不需Lib文件:下面库须要单独编译成库: Boost.Filesystem Boost.GraphParallel Boost.IO ...

  2. 一道SQL题考你数据库的使用能力

    题目:数据库中存在例如以下数据,求用户终于剩余金额. 用户 类型 金额 A 存入 100 A 存入 200 A 取出 100 A 取出 200 A 存入 300 A 取出 300 本人Oracle接触 ...

  3. python io操作

    一次性读取 # 读取文件 # 默认打开文件的方式是只读 file = None try: file = open("f:/test.sql") print(file.name) # ...

  4. tolua#是Unity静态绑定lua的一个解决方案

    tolua#代码简要分析 2017-04-16 23:02 by 风恋残雪, 98 阅读, 1 评论, 收藏, 编辑 简介 tolua#是Unity静态绑定lua的一个解决方案,它通过C#提供的反射信 ...

  5. MySQL旧版本ORDER BY 方法

    MySQL 的order by 它涉及到三个参数:A. sort_buffer_size 排序缓存.B. read_rnd_buffer_size 第二次排序缓存.C. max_length_for_ ...

  6. JDBC读取Oracle的US7ASCII编码中文乱码及不同编码下汉字占用字节的问题

    数据库版本号:Oracle 10g 字符集:SIMPLIFIED CHINESE_CHINA.US7ASCII JDK:1.6.0_45 Oracle驱动:ojdbc14.jar 使用JDBC操作数据 ...

  7. 数学类网站、代码(Matlab & Python & R)

    0. math & code COME ON CODE ON | A blog about programming and more programming. 1. 中文 统计学Computa ...

  8. WPF 的毛玻璃效果

    原文:WPF 的毛玻璃效果 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/koloumi/article/details/76917519 其实很简 ...

  9. 微信公众平台通用接口API指南

    微信公众平台 通用接口 消息接口 开发模式 作者:方倍工作室原文:http://www.doucube.com/index.php?m=Article&a=show&id=5 微信公众 ...

  10. 使用xtrabackup实现MySQL主从复制

    环境描写叙述 主从环境 项目 Master Slave OS版本号 SuSE 11sp1 x86_64 SuSE 11sp1 x86_64 MySQL版本号 官方版本号5.5.37 官方版本号5.5. ...