Как загрузить изображение, преобразованное в Blob с BLOB-объектов: http url php и javascript - PullRequest
0 голосов
/ 14 ноября 2018

Пожалуйста, у меня возникла проблема с загрузкой файла, преобразованного в URL-адрес блоба, и я хочу, чтобы этот URL-адрес был загружен на сторону php, вот мой HTML-код, просто:

<form id="img_uploader" accept="image/*" enctype="multipart/form-data">
    <input id="upl_file" type="file" name="file" />
</form>

Код Javascript:

$('#upl_file').on('change', function(e) {
    const img_file = e.target.files[0];
    const reader = new FileReader();
   reader.onload = (e)=> {
       const imgData = e.target.result;
       const onlyData = imgData.substring( imgData.split(",")[1] );

      //Convert the string to bytes
      var bytes = new Uint8Array(onlyData.length);

     for (var i = 0; i < onlyData.length; i++) {
         bytes[i] = onlyData.charCodeAt(i);
     }

    var mime = imgData.split(",")[0].split(":")[1].split(";")[0];

    // Make a Blob from the bytes
    const blob = new Blob([bytes], {type: mime});
    const urlCreator = window.URL || window.webkitURL;
    const blobUrl = urlCreator.createObjectURL(blob);

    var formData = new FormData();
    formData.append('file', blobUrl);

    $.ajax({
       url: 'https://prestastar.com/uploaded.php',
       data: formData,
       type: 'POST',
       contentType: false,
       processData: false,
       dataType: 'json',
       success: function(res) {
           console.log(res)
       },
       error: function(err) {
           console.log('Error happened', err.responseText);
       }
   });
 };

  reader.readAsDataURL(img_file);
}

Если я добавлю переменную «blob» непосредственно в formData, загрузка 4mo займет много времени, любая помощь, предложения, пожалуйста?

Заранее спасибо, ребята.

...