我是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 console中我收到以下错误,看起来因为错误,FileOptions也没有正确发送,这是错误(不允许加载本地资源):
Cordova版本:6.1.1 离子版:1.7.14
有什么想法吗?我有一段时间以来一直坚持这个错误。
答案 0 :(得分:30)
当您使用Ionic的“livereload”选项时会发生这种情况。
尝试在正常模式下运行
答案 1 :(得分:2)
另一个可能的原因是您安装了webview插件(例如https://github.com/ionic-team/cordova-plugin-ionic-webview或https://github.com/apache/cordova-plugin-wkwebview-engine)。此外,这也不允许使用library(dplyr)
df1 %>%
mutate_at(vars(starts_with('P')), funs(DR = (lead(.)- .)/.))
协议。
答案 2 :(得分:1)
对于离子Webview> 3.x,必须使用convertFileSrc()方法。 例如,如果您有一个myURL局部变量,例如file://或/ storage。
let win: any = window; // hack ionic/angular compilator
var myURL = win.Ionic.WebView.convertFileSrc(myURL);
答案 3 :(得分:0)
可能为时已晚......但是你可以使用File将原生路径转换为blob,然后使用URL.createObjectURL(blob)将blob转换为URL并将src作为src传递给你的html元素。这对于生产环境来说是不必要的,但您可以将它用于使用-lc进行开发。它可能会起作用
答案 4 :(得分:0)
2018年12月7日
这是适用于Ionic 3.9.2
应用程序的版本。
删除最新版本的webview
,然后:
即ionic cordova plugin add cordova-plugin-ionic-webview@1.2.1
https://github.com/ionic-team/cordova-plugin-ionic-webview/releases/tag/v1.2.1
注意:此版本可与normalizeURL()
方法配合使用。