Как загрузить строку как файл с jQuery или другой js платформой

Используя JavaScript, у меня есть файл в строке (полученный с запросом ajax).

Как загрузить его как файл к серверу другим запросом ajax?

12
задан Bhushan Kawadkar 27 May 2014 в 13:11
поделиться

1 ответ

Вам нужно установить заголовок запроса 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) {
    }
});
16
ответ дан 2 December 2019 в 04:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: