簡體   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