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");
フォームは実際のHTMLではなく、プログラムによって作成されます。フォームにプログラムを追加するにはどうしたらいいですか?サーブレットのマルチパート設定が間違った場所を指していたことに気づかされました。おそらくそれが修正されます。 –
$( "#fileInput")[0] .files [0] –
には何が含まれていますか?fileArray [index]インデックスには何が含まれていますか? $( "YOUR INPUT SELECTOR")からファイルを取得してください。prop( 'files')[0] –