Java的语言特点是什么(java语言的主要特点是什么)
1221
2022-05-30
MultipartReques类主要是对文件上传进行的处理,在上传文件时,编码格式为enctype="multipart/form-data"格式,以二进制形式提交数据,提交方式为post方式。
html示例代码
Java示例代码
package test;
import java.io.File;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.oreilly.servlet.MultipartRequest;
@SuppressWarnings("serial")
public class TestServlet extends HttpServlet {
@Override
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
MultipartRequest mr=null;
//用来限制用户上传文件大小的
int maxPostSize = 1 * 100 * 1024 * 1024;
//第一个参数为传过来的请求HttpServletRequest,
//第二个参数为上传文件要存储在服务器端的目录名称
//第三个参数是用来限制用户上传文件大小
//第四个参数可以设定用何种编码方式来上传文件名称,可以解决中文问题
mr = new MultipartRequest(request, "E:\zhang", maxPostSize, "GBK");
//传回所有文件输入类型的名称
Enumeration files = mr.getFileNames();
String fileName = "";
String filePath="";
while (files.hasMoreElements()) {
fileName = (String) files.nextElement();
System.out.println("FileName============"+fileName);
//用此方法得到上传文件的真正的文件名,这里的fileName指文件输入类型的名称
filePath = mr.getFilesystemName(fileName);
System.out.println("FilePath============"+filePath);
//此方法得到一个文件对象,代表储存在服务器上的fileName文件
File f = mr.getFile(fileName);
if (null == f)
throw new ServletException("file is not exist");
}
//可以取得请求参数的名称
Enumeration enum1=mr.getParameterNames();
while (enum1.hasMoreElements()) {
String s=(String)enum1.nextElement();
System.out.println(s);
String[] str=mr.getParameterValues(s);
for (int i=0;i System.out.println(str[i]); } } } } 运行后结果 16:36:16,346 INFO [STDOUT] FileName============File2 16:36:16,346 INFO [STDOUT] FilePath============新建 文本文档.txt 16:36:16,346 INFO [STDOUT] FileName============File1 16:36:16,346 INFO [STDOUT] FilePath============test.txt 16:36:16,346 INFO [STDOUT] password 16:36:16,346 INFO [STDOUT] zhy 16:36:16,346 INFO [STDOUT] userName 16:36:16,346 INFO [STDOUT] zhang 若出现异常如下,则是maxPostSize 设置太小,文件太大 exception : java.io.IOException: Posted content length of 785 exceeds limit of 1 com.oreilly.servlet.multipart.MultipartParser. com.oreilly.servlet.MultipartRequest. com.oreilly.servlet.MultipartRequest. test.TestServlet.service(TestServlet.java:22) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 若出现异常如下,则提交方式应该为post提交,或编码形式为enctype="multipart/form-data" exception: java.io.IOException: Posted content type isn't multipart/form-data com.oreilly.servlet.multipart.MultipartParser. com.oreilly.servlet.MultipartRequest. com.oreilly.servlet.MultipartRequest. test.TestServlet.service(TestServlet.java:26) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 关于此类的API详看 http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html Java Servlet
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。