我正在使用我的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。我得到的类型是multipart / form-data
答案 0 :(得分:1)
有一个名为commons-fileupload
的Apache commons解决方案,用于解析多部分内容。你可以找到它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()
}