gpt4 book ai didi

android - 当图像文件名在 Android 中带有空格时,Phonegap getPicture 方法失败

转载 作者:太空狗 更新时间:2023-10-29 15:01:37 25 4
gpt4 key购买 nike

我正在使用最新版本的 phonegap 相机插件(即 0.2.9)和 3.5 的 phonegap Build,在 Android 上进行测试,下面是我获取图像的代码:

navigator.camera.getPicture(uploadPhoto,
function(message) { console.log('get picture failed');alert(message) },
{ quality: 50, targetWidth: 400, targetHeight: 400,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY }
);

当我选择文件名不带空格的图片(例如test.jpg)时,uploadPhoto方法调用成功,但是当我选择文件名带空格的图片(test 2.jpg)时,出现错误并提示消息“无法创建位图”。

最佳答案

使用 JavaScript encodeURI() 函数对路径进行编码。

这将为您提供标准规范接受的格式的文件路径。函数仍未处理通常出现在文件名中的 '(' 和 ')'。

但是,使用 2 个 JavaScript String replace() 方法 尾随 encodeURI 函数,将它们替换为 RAW URL 编码等效项应该可以解决问题。

var success = function(path) {
var urlEncodedPath = encodeURI(path)
.replace('(', '%28')
.replace(')', '%29');
document.getElementById("demo").innerHTML = urlEncodedPath;
// do something
};

// Actual success callback from cordova camera
// navigator.camera.getPicture(success, fail, options);

// An Example for demonstating in browser
success('file:///storage/emulated/0/Android/data/com.your.app/cache/hd wallpaper nature(1).jpg');
<p id="demo" style="word-wrap: break-word;"></p>

关于android - 当图像文件名在 Android 中带有空格时,Phonegap getPicture 方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25977116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com