Angular Ionic文件插件在设备上不工作

Angular Ionic文件插件在设备上不工作,angular,cordova,ionic-framework,cordova-plugins,ionic-native,Angular,Cordova,Ionic Framework,Cordova Plugins,Ionic Native,我正在尝试将base64图像转换为“.png”文件。我正在使用Ionic原生文件插件来实现这一点。首先,我将base64图像转换为一个Blob,然后将这个Blob转换为一个“.png”文件 当通过“ionic serve”在web浏览器中测试此功能时,一切都能完美工作,但在模拟器或物理设备上测试时,似乎无法工作。代码运行时没有错误,但当尝试注销文件类型或文件大小时,我得到的大小为0,类型为未定义 let base64 = this.formData.getParentSignature();

我正在尝试将base64图像转换为“.png”文件。我正在使用Ionic原生文件插件来实现这一点。首先,我将base64图像转换为一个Blob,然后将这个Blob转换为一个“.png”文件

当通过“ionic serve”在web浏览器中测试此功能时,一切都能完美工作,但在模拟器或物理设备上测试时,似乎无法工作。代码运行时没有错误,但当尝试注销文件类型或文件大小时,我得到的大小为0,类型为未定义

  let base64 = this.formData.getParentSignature();

  let signatureBlob = this.getBlob(base64);

  let signatureFileName = firstName+"-"+lastName+"-Parent-"+"Signature.png";

  var blob = new Blob([this.parentSignature], {type: 'image/png'});
  var filePhoto = new File([signatureBlob], signatureFileName);

所以我自己发现了这个问题,我把它贴在这里,以防其他人遇到同样的问题

  let base64 = this.formData.getParentSignature();

  let signatureBlob = this.getBlob(base64);

  let signatureFileName = firstName+"-"+lastName+"-Parent-"+"Signature.png";

  var blob = new Blob([signatureBlob], {type: 'image/png'});
  var filePhoto = new File([signatureBlob], signatureFileName);
然后我可以重命名该文件:

  let headers = new Headers();
  headers.append('Content-Type','multipart/form-data');

  let form = new FormData();
  form.append('files', blob, signatureFileName);

希望您正在使用这个.file.writeFile(fileDirectory,filename,blobdata)方法。我正在通过多部分/表单数据将此图像上载到服务器。图像在通过web浏览器运行应用程序时上载,但在真实设备上失败。我已经把问题缩小到没有在物理设备上创建的文件。服务器只接受图像文件。