передача файла ионного кордова-плагина (multipart / formData) в конечную точку - PullRequest
0 голосов
/ 24 октября 2019

Я разрабатываю приложение ionic 3 с конечными точками отдыха. Существует multipart / formData - конечная точка для загрузки файлов: я хочу загрузить файл с устройства через конечную точку с помощью cordova-plugin

Я пытаюсь это:

return Observable.create((observer: Observer<BlobFileEntryCombination>) => {
    const reader: FileReader = new FileReader();
    reader.onloadend = (fileData: any) => {
      let _idxPoint = fileResouce.type.lastIndexOf('/');
      let _type = fileResouce.type.substr(0,_idxPoint);
      let _idPoint2 = fileResouce.name.lastIndexOf('.') + 1;
      let _FileExt = fileResouce.name.substr(_idPoint2,4);
      const blobProperties: BlobPropertyBag = { type: _type+'/'+_FileExt }; 
      console.log(fileData.target.result);
      const resultBlob: Blob =
        new Blob(
          **[fileData.target.result]**, blobProperties);
      observer.next(<BlobFileEntryCombination>{
        blob: resultBlob,
        fileEntry: fileEntry,
      });
      observer.complete();
    }
    reader.readAsArrayBuffer(fileResouce);
  });
});

проблема в том, что имя файла не распознается в BLOB-объекте. Когда я смотрю в Chrome-Network, я вижу имя файла «blob».

Content-Disposition: form-data; name="uploadedFile"; filename="blob" Content-Type: image/cont ÿØÿà JFIFÿÛC

Кажется, что блоб, который я передаю конечной точке, имеет неправильный формат.

См.

new Blob(
          **[fileData.target.result]**, blobProperties);

Как я могу дать блоб в правильном формате?

...