Phonegap 图片上传失败,权限被拒绝

Posted

技术标签:

【中文标题】Phonegap 图片上传失败,权限被拒绝【英文标题】:Phonegap image upload fails, permission denial 【发布时间】:2014-04-18 10:31:55 【问题描述】:

我一直在尝试将图像从设备库上传到外部服务器,但出现此错误:

04-18 12:11:25.680: W/System.err(19045): java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaDocumentsProvider uri content://com.android.providers.media.documents/document/image26952 from pid=19045, uid=10243 >requires android.permission.MANAGE_DOCUMENTS, or grantUriPermission()

我在 Android Manifest 中添加了这个权限,但它没有改变任何东西。另外,我可以毫无问题地加载图像并显示它们,只是上传部分失败。

这是我的代码:

function uploadPhoto(src) 
    var options = new FileUploadOptions();
    options.fileKey="file";
    options.fileName=src.substr(src.lastIndexOf('/')+1);

    var ft = new FileTransfer();
    ft.upload(src, encodeURI("http://xxxx/upload.php"), win, fail, options);

我有 android kitkat 最新版本,我在 Nexus 5 上运行它。Phonegap 版本是 3.3。

知道如何处理这个错误吗?

谢谢。

PS:这里是android manifest xml中的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.INTERNET" />

【问题讨论】:

我遇到了同样的问题。你找到解决方案了吗? 原来问题不在于权限。我在 kitkat 中的文件名有错误:***.com/questions/20638932/… 我会试试的,感谢您的快速回复! 看来这个问题在 phonegap 3.4.0 中也得到了修复,所以升级到那个版本应该可以解决所有问题。 【参考方案1】:

您需要在 manifest.xml 文件中设置此权限

<uses-permission android:name="android.permission.INTERNET" />

【讨论】:

感谢您的回答,我已经在 android 清单中找到了。我编辑了我的第一篇文章并在 xml 文件中添加了权限。

以上是关于Phonegap 图片上传失败,权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

代号一上传图片到S3存储桶权限

wordpress 3.3.1中的权限被拒绝错误

php为啥上传图片会失败

OSError - Errno 13 权限被拒绝

app上传图片被拦截怎么办

完成后,phonegap图片上传重定向