2016-05-07 47 views
11

我是新来的离子和我试图上传相机拍摄的图像存储在Android的文件系统:离子科尔多瓦文件上传错误:无法加载本地资源

var ft = new FileTransfer(); 
console.log('Uploading: ' + fileURL); 
ft.upload(fileURL, 
    encodeURI("http://192.168.192.62:3000/api/meals/picture"), 
    pictureUploaded, 
    function(error) { 
    console.err(error); 
    $ionicLoading.show({template: 'Ooops error uploading picture...'}); 
    setTimeout(function(){$ionicLoading.hide();}, 3000); 
    }, 
    options); 

var pictureUploaded = function() { 
    console.log('uploaded!'); 
    $ionicLoading.hide(); 
}; 

fileUrl指向一个存在image:file:///data/data/com.ionicframework.nutrilifemobile664547/files/Q2AtO1462636767466.jpg

在chrome:// inspect /#设备控制台中我得到以下错误,它看起来像是因为错误FileOptions也没有正确发送,这是错误(不允许加载本地资源):

enter image description here

科尔多瓦版本:6.1.1 离子版本:1.7.14

任何想法?我一直坚持这个错误。

+0

你能否使用任何文件浏览器查看文件?在许多情况下,应用程序特定的数据不能在应用程序外访问你可以尝试存储图像externalRootDirectory并尝试一次吗? – Gandhi

+0

@Marcos,你解决了这个问题吗? – BohdanZ

+5

@BohdanZ - 嗨,其实我刚刚发现这种情况发生在使用livereload选项时,即“ionic run android -lc”。在这种情况下,看起来像插件使得在计算机的实际文件系统中搜索,而不是设备..所以为了避免我只是在没有-lc选项的情况下运行它...这不是最优的,检查支持,但我找不到使用-lc选项绕过问题的方法。 –

回答

20

当您对Ionic使用“livereload”选项时会发生这种情况。

尝试在正常模式下运行

+5

如果你检查我上面的问题的意见,你会发现我们已经得出这个结论,问题是这不是一个正确的答案或解决问题,我想这个工作,仍然能够正确使用-lc选项和/或能够使用铬检查。 –

+0

谢谢,我有同样的问题,并发挥作用 – Bullgod

0

它可能为时已晚,但...你可以转换成团块使用文件再转换斑点使用URL.createObjectURL(BLOB)和传递到URL /设置为src复制到本地路径你的html元素。这对于生产环境来说是不必要的,但是您可以将它用于-lc开发。也许工作

0

真不简单,我曾与科尔多瓦运行的Android

相关问题