cordova - Base64 插件不工作

标签 cordova ionic-framework ionic2 cordova-plugins ionic3

该插件工作正常,直到最近我开始遇到它的问题,代码不执行也不抛出错误。我想从相机捕获图像并将 base64 字符串发送到服务器,这很容易,因为我可以直接获取捕获图像的 base64 但后来我使用了 native crop它返回裁剪图像的 URI。所以现在我必须得到这个图像的 base64,但是 Base64 插件不再工作了。非常感谢任何解决方法或帮助。 我使用的代码:

this.base64.encodeFile(filePath).then((base64File: string) => {
    console.log(base64File);    // Won't execute
}, (err) => {
    console.log(err);  // Won't execute
});

最佳答案

我在同一个错误上花了几个小时。碰巧这个插件刚刚停止工作(它仍然是测试版)。我对代码进行了一些更改,并用 File Plugin 替换了 Base64 插件。

  1. 将文件插件添加到 app.module.ts 导入。
  2. 在组件/服务构造函数中导入和注入(inject)依赖项。

如果你有文件路径:

// split file path to directory and file name
let fileName = filePath.split('/').pop();
let path = filePath.substring(0, filePath.lastIndexOf("/") + 1);

this.file.readAsDataURL(path, fileName)
.then(base64File => {
    console.log("here is encoded image ", base64File)
})
.catch(() => {
    console.log('Error reading file');
})

关于cordova - Base64 插件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48638248/

相关文章:

ios - 错误 - FIXME : Implement XCBuild support for macros in overriding parameters with condition sets

IOS Phonegap : landscape to portrait break overflow-x

ionic-framework - ionic View 在浏览器和模拟器中是不同的

javascript - 无法更新 angular.js 中的变量

javascript - 为 Firebase 身份验证创建自定义错误消息

javascript - Ionic secure storage - 要求用户设置锁屏

javascript - KineticJS 中的拖动会移动整个页面,而不仅仅是可拖动的页面

javascript - 从 URI 获取文件 base64

AngularFire2 打字 : "Property ' take' does not exist on type 'FirebaseObjectObservable<any>' "

cordova - Safari Web 检查器为空白