wzdark
wzdark
  • 发布:2016-05-06 16:11
  • 更新:2017-01-10 15:36
  • 阅读:3837

web app 读取本地图片问题

分类:HTML5+

使用hbuilder做容器 加载的页面是在线的网页。
在在线的网页中,使用如下代码获取相册图片:

 plus.gallery.pick( function(path){  
      plus.io.resolveLocalFileSystemURL(path, function(entry) {  
                    console.info("ori path : " + entry.toURL());  
                    console.info("local path : " + entry.toLocalURL());  
                    console.info("remote path : " + entry.toRemoteURL());  
                    $("#report").html('<img src="'+ entry.toLocalURL() +'">');  
                }, function(e) {  
                    console.info("读取拍照文件错误:" + e.message);  
                });  
    }, function ( e ) {  
        //outSet( "取消选择图片" );  
    },{filter:"image",multiple:true});

报错:

 Not allowed to load local resource: file:///storage/emulated/0/DCIM/Camera/IMG20160502114533.jpg

如果使用

entry.toRemoteURL()

也会报如下错误:

 Cross-origin image load denied by Cross-Origin Resource Sharing policy

其中remote url为

http://localhost:13131/file:///storage/emulated/0/DCIM/Camera/1462514201838.jpg

问有什么在线页面 读取 本地图片的解决方案?

2016-05-06 16:11 负责人:无 分享
已邀请:
下一页丶翻

下一页丶翻

我怎么老是返回的是,执行失败;

下一页丶翻

下一页丶翻

我怎么老是返回的是,执行失败;

wzdark

wzdark (作者)

已解决,需要将相册选中的图片拷贝到 应用的私有文档目录,http://www.html5plus.org/doc/zh_cn/io.html#plus.io.PRIVATE_DOC

plus.gallery.pick(function(path) {  

    //路径转换  
    plus.io.resolveLocalFileSystemURL(path,  
    function(srcEntry) {  

        //移动端app的私有文档目录  
        plus.io.requestFileSystem(plus.io.PRIVATE_DOC,  
        function(fs) {  

            srcEntry.moveTo(fs.root, null,  
            function(entry) {  
                //添加到幻灯片  
                appendHttpImgToSlide(entry.toRemoteURL());  
            },  
            function(e) {  
                alert(e.message);  
            });  
        });  

    },  
    function(e) {  
        console.info("读取拍照文件错误:" + e.message);  
    });  

},  
function(e) {},  
{  
    filter: "image"  
});`

该问题目前已经被锁定, 无法添加新回复