Jak nahrát řetězec jako soubor s jQuery nebo jiným rámcem js

Pomocí javascriptu mám soubor v řetězci (získáno s požadavkem ajax).

Jak jej nahrát jako soubor na server pomocí jiného požadavku ajax?

Odpověď

Musíte nastavit Content-type záhlaví požadavku na multipart/form-data a trochu si pohrajte s formátem, napsal jsem to v JavaScriptu Plain Ol’, ale můžete to snadno přepracovat na knihovnu:

EDIT:měl jsem teď kávu, tak jsem ji upravil pro jQuery (zde verze bez knihovny):

// Define a boundary, I stole this from IE but you can use any string AFAIK
var boundary = "---------------------------7da24f2e50046";
var body = '--' + boundary + 'rn'
         // Parameter name is "file" and local filename is "temp.txt"
         + 'Content-Disposition: form-data; name="file";'
         + 'filename="temp.txt"rn'
         // Add the file's mime-type
         + 'Content-type: plain/textrnrn'
         // Add your data:
         + data + 'rn'
         + '--'+ boundary + '--';

$.ajax({
    contentType: "multipart/form-data; boundary="+boundary,
    data: body,
    type: "POST",
    url: "http://asite.com/apage.php",
    success: function (data, status) {
    }
});