我尝试从手机加载图像文件。通过使用示例代码(Camera.sourceType = Camera.PictureSourceType.PHOTOLIBRARY
),当按下按钮时,弹出窗口显示我可以选择打开"照片库"或"文件管理器" (某些类似的名称,可能因手机型号和语言而异)。如果我通过照片库选择它(如代码所示?),我可以获得返回的图像文件,但如果我使用"文件管理器"则会失败。错误是说"无法加载本地资源 - file://....
"。 (相比之下,照片库中返回的值是content://
协议)。
由于用户可能会随机使用其中一个应用程序(并且某些图像不在照片库范围内),我怎样才能通过这两种方式正确使用它?
=======更新======
只是意识到报告错误是因为我使用图像的返回文件句柄作为图像源。我的phonegap应用程序使用远程链接作为index.html,因此不允许加载本地资源(跨域问题)。 所以我需要先在后台上传它,然后将图像源设置为返回的URL而不是......
答案 0 :(得分:0)
正如我更新的那样,我在大多数PhoneGap文档和教程中使用远程页面(例如http://domain.com/index.html
)而不是资产中的页面(例如index.html
)。因此file://
协议将满足跨域限制,并且无法通过远程页面加载。虽然content://
协议没有这样的限制。我必须重新组织我的解决方案的架构。