问:Ionic3 使用 cordova-base64-to-image 插件将 base64Image 保存为图像
Q: Ionic3 saving base64Image as image using cordova-base64-to-image plugin
我正在使用 cordova-plugin-camera-preview 拍照,并使用 cordova-base64-to-gallery 将 base64 字符串保存为图片。
问题是它没有将我的 base64Image 保存为图像。
我现在在做什么:拍完照片我这样称呼:
this.base64ToGallery.base64ToGallery(this.base64Image).then(
res => this.toast.show('P -> Saved to gallery: ' + res, '5000', 'center').subscribe(),
err => this.toast.show('P -> Error saving to gallery: ' + err , '7000', 'center').subscribe()
);
其中 this.base64Image = 'data:image/png;base64,' + imageData;
导致错误为:Error while saving image
如果我将 this.base64Image
更改为 this.base64Image = imageData;
我收到错误消息:data.replace is not a function
、
data.replace 是来自 cordova-base64-to-gallery 插件的 base64ToGallery.js 的一部分。
我可以使用以下方法正确显示图片作为预览:
<img class="image-container" src="{{base64Image}}" />
非常感谢任何帮助
为了解决这个问题,我需要添加权限以写入具有保存图像代码的页面内的存储空间。
在我的例子中,我将下面的代码放在构造函数中:
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE).then(
result => console.log("Permissions granted", result.hasPermissions),
error => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE)
);
this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE]);
我正在使用 cordova-plugin-camera-preview 拍照,使用 cordova-base64-to-gallery 将 base64 字符串保存为图片。
问题是它没有将我的 base64Image 保存为图像。
我在做什么:
this.picture = 'data:image/jpeg;base64,' + imageData;
替换为:
this.picture = 'data:image/png;base64,' + imageData;
我正在使用 cordova-plugin-camera-preview 拍照,并使用 cordova-base64-to-gallery 将 base64 字符串保存为图片。
问题是它没有将我的 base64Image 保存为图像。
我现在在做什么:拍完照片我这样称呼:
this.base64ToGallery.base64ToGallery(this.base64Image).then(
res => this.toast.show('P -> Saved to gallery: ' + res, '5000', 'center').subscribe(),
err => this.toast.show('P -> Error saving to gallery: ' + err , '7000', 'center').subscribe()
);
其中 this.base64Image = 'data:image/png;base64,' + imageData;
导致错误为:Error while saving image
如果我将 this.base64Image
更改为 this.base64Image = imageData;
我收到错误消息:data.replace is not a function
、
data.replace 是来自 cordova-base64-to-gallery 插件的 base64ToGallery.js 的一部分。
我可以使用以下方法正确显示图片作为预览:
<img class="image-container" src="{{base64Image}}" />
非常感谢任何帮助
为了解决这个问题,我需要添加权限以写入具有保存图像代码的页面内的存储空间。 在我的例子中,我将下面的代码放在构造函数中:
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE).then(
result => console.log("Permissions granted", result.hasPermissions),
error => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE)
);
this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE]);
我正在使用 cordova-plugin-camera-preview 拍照,使用 cordova-base64-to-gallery 将 base64 字符串保存为图片。
问题是它没有将我的 base64Image 保存为图像。
我在做什么: this.picture = 'data:image/jpeg;base64,' + imageData;
替换为: this.picture = 'data:image/png;base64,' + imageData;