【发布时间】:2016-05-07 16:04:56
【问题描述】:
我是 Ionic 的新手,我正在尝试上传从相机拍摄并存储在 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 指向一个存在的图像:file:///data/data/com.ionicframework.nutrilifemobile664547/files/Q2AtO1462636767466.jpg
在 chrome://inspect/#devices 控制台中我收到以下错误,看起来由于该错误 FileOptions 也没有正确发送,这是错误(不允许加载本地资源):
Cordova 版本:6.1.1
离子版本:1.7.14
【问题讨论】:
-
您可以使用任何文件浏览器查看该文件吗?在许多情况下,应用程序特定的数据在应用程序之外是不可访问的。你可以尝试存储图像 externalRootDirectory 并尝试一次吗?
-
@Marcos,你解决了这个问题吗?
-
@BohdanZ - 嗨,实际上我刚刚发现在使用 livereload 选项时会发生这种情况,即 - "ionic run android -lc" 。在这种情况下,插件看起来像是在计算机的实际文件系统而不是设备中进行搜索..所以为了避免我只是在没有 -lc 选项的情况下运行它......这不是最佳选择,我们松动了 chrome检查支持,但我找不到使用 -lc 选项绕过问题的方法。
-
@MarcosMaia 是的,我也发现了,使用了同样的解决方案,但是这个解决方案不好用。感谢您的回复。
-
我不使用 ionic,但我仍然在使用普通 cordova 项目的 cordova android 6.3.0 中看到此错误。有什么想法吗?
标签: android cordova ionic-framework mobile