@MultipartConfig(maxFileSize=1024*1024*5, maxRequestSize=1024*1024*5*5)
public class TestFileUpLoad extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
JSONObject jsonReply =new JSONObject();
try {
Part part=request.getPart("upfile");
//获取文件后缀名,即文件类型
String realFileName=part.getSubmittedFileName();
String type=realFileName.substring(realFileName.lastIndexOf("."));
String fileName=UUID.randomUUID().toString()+type;
//获取项目下的该文件夹路径,必须先创建文件夹
String path=getServletContext().getRealPath("/file/")+fileName;
part.write(path);
jsonReply.put("fileType", type);
jsonReply.put("success", "ok");
} catch (Exception e) {
e.printStackTrace();
jsonReply.put("error", "error");
response.setContentType("text/plain");
response.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
out.write(jsonReply.toString());
out.close();
在后台代码做一点改进,文件目录可能在本地测试和服务器有差别,需要动态获取,文件名也需要动态获取,以便增加代码可用性
之前使用Java处理文件上传需要引用各种库,但在servlet3.0之后java提供了文件上传对象,使用更加简单。这里提供一个Servlet版本对照:文件上传APIHttpServletRequest 提供了两个方法用于从请求中解析上传的文件:Part getPart(String name): 用于获取请求中指定name的文件Coolection< Part > getP...
二:文件上传的表单提交方式必须是POST方式,
编码类型:enctype=”multipart/form-data”,默认是 application/x-www-form-urlencoded
<form action="FileUpLoad"enctype="multipart/form-dat
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax...
本文档介绍了文件上传的处理方法,包括当前端form表单的编码类型为enctype="multipart/form-data"时如何处理?以及老办法获取上传文件的名字,新办法自己一个函数获取上传文件的名字。最后讲解了上传一个文件和上传多个文件的区别和代码。
一、文件上传注意事项
当前端的form表单包含有文件上传时,有以下知识点:
1.form表单中的数据编码类型要写enctype="multipart/form-data" 才能上传文件,该编码类型将会以二进制的形式上传数据。
2.问题来了,..
Servlet 3.0 改进了部分API,这种改进很好地简化了Java Web开发。其中包括HttpServletRequest 增加了对文件上传的支持。
HttpServletRequest 提供了如下两个方法来处理文件上传:
Part getPart(String name); 根据 name 来获取文件上传域
Collection getParts(); 获取所有的文件上传域
构造上传文件的表单
<form action="uploadServlet" method="post" encty
1、在上传文件前请在计算机C盘新建一个名为“upload”的文件夹,否则会出现如下异常:java.io.IOException: The temporary upload location [C:\upload] is not valid
2、请不要使用360安全浏览器演示本功能,否则会出现如下异常:java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly
Java开发技术大全.part1.rar 免积分下载(解压需5个文件part1,part2,part3,part4,part5,目前一次只能上传70M,不得不分卷,希望大家谅解下)
《Java 面向对象编程》[1] 内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结Java编程的各种经验,深入阐述Java虚拟机执行程序的原理。书中实例均基于最新的JDK 1.5版本。全书内容包括面向对象的编程思想、Java语言的基础知识、异常处理、类与对象的生命周期、多线程、Java集合、输入/输出和GUI编程等。其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。
@RequestPart用于将multipart/form-data类型数据映射到控制器处理方法的参数中。除了@RequestPart注解外,@RequestParam同样可以用于此类操作。
① value:
绑定的参数名称,参数值为String类型。
② name:
绑定的参数名称,参数值为String类型。name和value可以同时使用,但两者的值需一致,否则会出现错误。
attribute 'name' and its alias 'value' are p
servlet的八大域对象分别是:ServletContext、ServletRequest、ServletResponse、HttpSession、PageContext、ServletConfig、ServletContextAttributeEvent和ServletRequestAttributeEvent。这些对象可以在servlet程序的不同作用域内共享数据和信息,方便程序开发和管理。其中,ServletContext代表整个Web应用程序的上下文环境,可以获取Web应用程序的初始化参数和资源路径;ServletRequest代表客户端的HTTP请求,包含请求的头信息和请求参数等;ServletResponse代表服务器响应客户端请求的对象,包含响应头信息和响应数据等;HttpSession代表客户端和服务器之间的会话,可以保存和管理用户的状态信息;PageContext代表JSP页面的上下文环境,包含页面的请求、响应和其他属性;ServletConfig代表servlet的配置信息,可以获取servlet的初始化参数和上下文环境;ServletContextAttributeEvent代表ServletContext属性的变化事件;ServletRequestAttributeEvent代表ServletRequest属性的变化事件。