繁体   English   中英

科尔多瓦相机插件Android将额外的信息附加到FILE_URI的末尾

[英]Cordova Camera Plugin Android appends extra information to the end of FILE_URI

我在Ionic应用程序中使用Cordova相机插件。 一切都能在iOS上正常运行。 在Android上,当sourceType设置为CAMERA且destinationType设置为FILE_URI时 ,它将按预期工作,并返回如下路径: file:///storage/emulated/0/Android/data/com.myappname.myapp/cache /imageName.jpg

但是,当sourceType设置为PHOTOLIBRARYSAVEDPHOTOALBUM且目标类型设置为FILE_URI时 ,它将在文件末尾返回带有额外信息的路径(即查询字符串),从而无法加载和使用该文件(即与CordovaFileTransfer)。 它返回的路径是这样的: file:///storage/emulated/0/Android/data/com.myappname.myapp/cache/image.jpg?12764830288374

问题是最后的查询字符串?12764830288374 我了解这样做是为了解决浏览器中的缓存问题,但是为什么Cordova Camera会以这种方式返回FILE_URI以及如何进行更改?

我意识到我可以简单地删除问号后的所有内容,但这似乎是一个棘手的解决方案。 我想知道为什么它会以这种方式返回路径以及如何正确修复它。

注意:我也尝试过将其作为NATIVE_URI返回,并且相同的问题仍然成立-它在文件路径的末尾附加了带有数字列表的问号,以防止cordovaFileTransfer正确上传文件。

我不知道为什么它会出现在这个特定实例中,但是;

在末尾添加一个随机数,这样会阻止浏览器缓存使用文件的旧版本。 这非常有用,因为如果您要拍摄一张新照片并尝试显示它,则很可能会看到旧照片。

本质上,这是浏览器缓存周围的“黑客”。 引擎盖下的系统以某种方式对您有利。 由于每次url都不同,因此编号也不同,即使文件是相同的也是如此。 浏览器仅缓存URLs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM