【发布时间】:2017-01-09 15:23:40
【问题描述】:
我在 Ionic 应用程序中使用 Cordova 相机插件。在 iOS 上一切正常。在 Android 上,当 sourceType 设置为 CAMERA 并且 destinationType 设置为 FILE_URI 时,它按预期工作,返回如下路径: file:///storage/emulated/0/Android/data/com.myappname.myapp/cache/imageName.jpg
但是,当 sourceType 设置为 PHOTOLIBRARY 或 SAVEDPHOTOALBUM 并且目标类型设置为 FILE_URI 时,它返回的路径带有额外的文件末尾的信息(即查询字符串),从而无法加载和使用该文件(即使用 CordovaFileTransfer)。它返回的路径是这样的: file:///storage/emulated/0/Android/data/com.myappname.myapp/cache/image.jpg?12764830288374
问题是最后的查询字符串 ?12764830288374。我知道这样做是为了解决浏览器中的缓存问题,但为什么 Cordova Camera 会以这种方式返回 FILE_URI 以及可以做些什么来更改它?
我意识到我可以简单地去掉问号后路径上的所有内容,但这似乎是一个 hacky 解决方案。我想知道为什么它会以这种方式返回路径以及如何正确修复它。
注意:我也尝试将它作为 NATIVE_URI 返回,同样的问题也适用 - 它会在文件路径末尾附加一个带有数字列表的问号,以防止 cordovaFileTransfer 正确上传文件。
【问题讨论】:
标签: android cordova ionic-framework android-camera cordova-plugins