本篇文章给大家带来的内容是关于java如何使用fromdata实现文件上传(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、使用FromData将表单对象序列化后,使用request.getInputStream()来获取数据
1、表单代码如下
2、js的代码
3、由于是序列化的表单所以java后端,不能使用request.getParameter()获取数据,需要使用request.getInputStream();获取数据
立即学习“Java免费学习笔记(深入)”;
首先我们看到获取的数据
InputStream in = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String str = "";
while((str=br.readLine())!=null){
System.out.println(str);
} 
YDUI Touch专为移动端打造,在技术实现、交互设计上兼容主流移动设备,保证代码轻、性能高;使用 Flexbox 技术,灵活自如地对齐、收缩、扩展元素,轻松搞定移动页面布局;用 rem 实现强大的屏幕适配布局,等比例适配所有屏幕;自定义Javascript组件、Less文件、Less变量,定制一份属于自己的YDUI。
可以看到读取到这些数据
4、接着使用apache的上传文件框架进行上传
实现效果

以下是代码
package com.wangyang.servlet;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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;
@WebServlet("/upload")
public class Upload extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
/*
InputStream in = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String str = "";
while((str=br.readLine())!=null){
System.out.println(str);
}
*/
System.out.println("[-------------------------------------------------------]");
String filepath=request.getServletContext().getRealPath("/")+"upload/";
File file = new File(filepath);
if(!file.exists()) {
file.mkdir();
}
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items= upload.parseRequest(request);
for(FileItem item: items) {
System.out.println(filepath+item.getName());
if(!item.isFormField()) {
item.write(new File(filepath+item.getName()));
}
if(item.isFormField()){
System.out.println(item.getString());
System.out.println(item.getFieldName());
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect("index.jsp");
}
} <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
这里没有进行细节上的编程,只是为了说明简单原理










