0

我正在使用XMLHttpRequest()我的 jsp 中进行文件上传,当我在控制器中执行 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

4

1 回答 1

1

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

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

@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()
}
于 2012-11-29T07:50:55.223 回答