2016-11-09 10 views
0

ファイルをアップロードしようとしたときにCORSエラーが発生します。データを取得するために他のページに設定した通常のヘッダーレスポンスは動作していないようですが、HTTPRequestにヘッダーを正しく書き込む必要があると思いますが、わかりません。それは、私が言うことができるものから要求を開いた後でなければなりません。ここでXMLHTTPRequest CORSの適切なヘッダーを設定

UploadDocument.js

var fd = new FormData(); 
    var pro = $("#pro").val(); 

    fileArray[index].submit = true; 

    fd.append("name" + index, "pdf2"); 
    fd.append("size" + index, fileArray[index].size); 
    var fileDate = new Date(fileArray[index].lastModifiedDate); 
    var currentDate = new Date(); 
    fd.append("fileDate" + index, fileDate.getTime()); 
    fd.append("uploadDate" + index, currentDate.getTime()); 
    fd.append("officialDate" + index, $('#date').val()); 
    fd.append("extension" + index, fileArray[index].name.split('.')[1]); 
    fd.append("program_id" + index, pro); 
    fd.append('file' + index, fileArray[index]);  

    fd.append("length", fileArray.length); 
    var request = new XMLHttpRequest(); 
    request.onreadystatechange = function() { 
     if (request.readyState == 4 && request.status == 200) { 
      that.prop('disabled', true); 
      that.text("Done!"); 
      that.parent().siblings().children(".deleteBtn").prop("disabled", true); 
     } 
    }; 
    request.open("POST", locationOfServlet, true); 
    request.send(fd); 

は、私は、サーブレットのヘッダーを処理する方法である:

RecieveFiles.java

 response.addHeader("Access-Control-Allow-Headers", "Content-Type"); 
     response.addHeader("Access-Control-Allow-Origin", "*"); 
     response.addHeader("Access-Control-Allow-Methods", "GET, PUT, POST, OPTIONS, DELETE"); 
     response.addHeader("Access-Control-Max-Age", "86400"); 

答えて

0

このヘルプあなたかもしれませここに私の私のコードがありますhttps://developer.mozilla.org/enUS/docs/Web/API/FormData/Using_FormData_Objects

「multipart/form-data」属性をth番目に指定しましたか?電子フォーム?

<form enctype="multipart/form-data"> 
+0

フォームは実際のHTMLではなく、プログラムによって作成されます。フォームにプログラムを追加するにはどうしたらいいですか?サーブレットのマルチパート設定が間違った場所を指していたことに気づかされました。おそらくそれが修正されます。 –

+0

$( "#fileInput")[0] .files [0] –

+0

には何が含まれていますか?fileArray [index]インデックスには何が含まれていますか? $( "YOUR INPUT SELECTOR")からファイルを取得してください。prop( 'files')[0] –

関連する問題