如何使用FormData进行离子文件上传

dev*_*per 1 alfresco ionic-framework

我想使用fileTransfer(ionic 3)或其他功能将formdata发送到服务器

var form = new FormData();
form.append("filedata", base64File);
form.append("numDeclaration", "01012018");

let options: FileUploadOptions = {
          fileKey: 'filedata',
          fileName: imageName,
          chunkedMode: false,
          mimeType: "image/jpeg",
          headers: {}
        }

fileTransfer.upload(base64File, 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/f3589d6b-82db-44d2-9b6d-89a3e7e57442/children?alf_ticket=' + localStorage.getItem('token'), options).then((data) => {
     console.log(data + " Uploaded Successfully");
}
Run Code Online (Sandbox Code Playgroud)

小智 6

我遇到了同样的问题,并且不想使用离子文件传输插件。

我将文件读取为Blob,并将其添加到formData中。对我来说很好。

private fileReader(file: any) {
  const reader = new FileReader();
  reader.onloadend = () => {
    const formData = new FormData();
    const blobFile = new Blob([reader.result], { type: file.type });
    formData.append("file", blobFile, "filename");
    // POST formData call
  };
  reader.readAsArrayBuffer(file);
}
Run Code Online (Sandbox Code Playgroud)