繁体   English   中英

处理多部分/表单数据

[英]processing multipart/form-data

我正在使用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)的值感到震惊。 我要作为多部分/表单数据的类型

有一个Apache commons解决方案,称为commons-fileupload用于解析多部分内容。 你可以在这里找到它。

从他们的教程中复制的最简单的示例如下所示:

@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()
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM