Используя JavaScript, у меня есть файл в строке (полученный с запросом ajax).
Как загрузить его как файл к серверу другим запросом ajax?
Вам нужно установить заголовок запроса Content-type
на multipart/form-data
и немного поиграть с форматом, Я написал это на Plain Ol' JavaScript (tm), но вы можете легко переделать это для библиотеки:
EDIT: сейчас выпил кофе, поэтому переделал его для jQuery (версия без библиотеки здесь):
// Define a boundary, I stole this from IE but you can use any string AFAIK
var boundary = "---------------------------7da24f2e50046";
var body = '--' + boundary + '\r\n'
// Parameter name is "file" and local filename is "temp.txt"
+ 'Content-Disposition: form-data; name="file";'
+ 'filename="temp.txt"\r\n'
// Add the file's mime-type
+ 'Content-type: plain/text\r\n\r\n'
// Add your data:
+ data + '\r\n'
+ '--'+ boundary + '--';
$.ajax({
contentType: "multipart/form-data; boundary="+boundary,
data: body,
type: "POST",
url: "http://asite.com/apage.php",
success: function (data, status) {
}
});