我能够成功地从照片库和相机中获取图像,并能够使用FileTransfer plugin将它们发送到服务器,以便保存它们。但唯一不起作用的代码是显示图像:(当我提醒 ImageURI 时,它给出了以下路径:
file://storage/sdcard0/Android/data/com.apgyver.freshandroid/cache/.Pic.jpg
我不确定我是否遗漏了任何插件或某些代码?
function getImage() {
// Retrieve image file location from specified source
navigator.camera.getPicture(uploadPhoto, function(message) {
alert('get picture failed');
},{
quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
}
);
}
function uploadPhoto(imageURI) {
//alert(imageURI); return false;
var image = document.getElementById('myImage');
image.src = imageURI;
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var params = new Object();
params.value1 = "test";
params.value2 = "param";
options.params = params;
options.chunkedMode = false;
var ft = new FileTransfer();
ft.upload(imageURI, url, win, fail, options);
}
确实将路径分配给src
,但无法显示图像。
感谢您的帮助。
答案 0 :(得分:0)
您必须错过 img 元素,其中 myImage width 且 height 设置为某个值这样它就是可见的,并被赋予display: block
。您的代码严格遵循Camera插件使用示例中的代码,因为它正确地连接到服务器,您应该拥有所有插件和放大器。需要权限。