我在jsp中使用XMLHttpRequest()
进行文件上传,当在控制器中执行request.getContentType()时,我得到了:
multipart/form-data; boundary=---------------------------4664151417711.
此外,我没有得到如何获取文件以及如何在控制器中获取其内容的信息。请任何人帮助。
更新-
我在我的jsp中执行此操作。
function fileUpload() {
var url= document.getElementById("urlId").value;
var file= document.getElementById("xslId").files[0];
var formdata = new FormData();
formdata.append("url", url);
formdata.append("file", file);
var xhr = new XMLHttpRequest();
xhr.open("POST","http://localhost:8080/XlsUpload/openSource.htm", true);
xhr.send(formdata);
xhr.onload = function(e) {
};
}
在我的控制器中
public void openSource(@ModelAttribute("domTool") DomTool domTool,HttpServletRequest request,HttpServletResponse response){
String type=request.getContentType();
此外,我很想知道如何获取上载文件的内容以及文本字段的值,即控制器中的URL。我要作为多部分/表单数据的类型
最佳答案
有一个称为commons-fileupload
的Apache公共解决方案,用于解析多部分内容。您可以找到它here。
从他们的tutorial复制的最简单的示例如下所示:
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
// iterate over items (i.e. list of FileItem) and access
// the content with getInputStream()
}
关于java - 处理多部分/表单数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13619071/