Отправляем данные в формате UrlData как файл. Аналогично можно любые base64 или бинарные данные отправлять.
function dataURItoBlob(dataURI) {
var byteString,
mimestring;
if(dataURI.split(',')[0].indexOf('base64') !== -1 ) {
byteString = atob(dataURI.split(',')[1]);
} else {
byteString = decodeURI(dataURI.split(',')[1]);
}
mimestring = dataURI.split(',')[0].split(':')[1].split(';')[0];
var content = [];
for (var i = 0; i < byteString.length; i++) {
content[i] = byteString.charCodeAt(i);
}
return new Blob([new Uint8Array(content)], {type: mimestring});
}
var blob = dataURItoBlob(dataURI);
var formData = new FormData();
formData.append('file', blob);
$.ajax({
url: url,
type: "POST",
data: formData,
processData: false, // tell jQuery not to process the data
contentType: false // tell jQuery not to set contentType
});