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 を取得する方法に感銘を受けました。マルチパート/フォームデータとして取得しているタイプ

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 に答える