FormData с помощью Ajax загружает файл через перекрестный домен, как сервер может получить файл?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 FormData с помощью Ajax загружает файл через перекрестный домен, как сервер может получить файл?

Сообщение Anonymous »

Мой домен — localhost:8084, хочу загрузить файл на localhost:8086
js:

var xhr = new XMLHttpRequest();
xhr.open("post", "http://localshot:8086"+ "?type=ajax",true);
xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");
xhr.setRequestHeader("Content-type", "multipart/form-data;");
// 模拟数据
var fd = new FormData();
fd.append("upfile", f); //f is a File object
fd.append("result","tskdskfjsf");
xhr.send(fd);
xhr.addEventListener('load', function(e) {
var r = e.target.response, json;
me.uploadComplete(r);
if (i == fileList.length - 1) {
$(img).remove()
}
});

Сервер (Java):
System.out.print(getPara("result"));
UploadFile uf = getFile("upfile", path.getAbsolutePath() + "/");

мой вопрос:
  • Я не получу никаких данных в консоли.
  • При выполнении оператора getFile("upfile",path.getAbsolutePath() + "/") выдаст исключение:

    "java.io.IOException: тип опубликованного контента не является multipart/form-data"
Метод getFile взят из третьей платформы:
public UploadFile getFile(String parameterName, String saveDirectory) {
getFiles(saveDirectory);
return getFile(parameterName);
}

public List getFiles(String saveDirectory) {
if (multipartRequest == null) {
multipartRequest = new MultipartRequest(request, saveDirectory);
request = multipartRequest;
}
return multipartRequest.getFiles();
}


Подробнее здесь: https://stackoverflow.com/questions/234 ... t-the-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»