我一直试图解决这个问题几天了。教程和文档都说同样的事情。
我想上传用户使用相机拍摄的照片。但是,它不断触及错误函数,并说代码,源和目标为空。我的服务器永远不会被击中,似乎没有任何关于它。这是我的代码。
$(function() {
$('#camera').click(function() {
navigator.camera.getPicture(upload, function() {
alert('error');
},
{
quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.CAMERA
});
});
var upload = function(image) {
console.log(image);
var options = new FileUploadOptions()
options.fileKey="file";
options.fileName=image.substr(image.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
console.log(image.substr(image.lastIndexOf('/')+1));
options.chunkedMode = true;
var ft = new FileTransfer();
ft.upload(image, encodeURI("http://mysite/upload.php"), win, fail, options);
};
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
});
config.xml中
<access origin="*" />
答案 0 :(得分:0)
您是否有机会使用Telerik平台?如果是这样,那就是原因。此平台目前在某些方面受到限制,不支持文件和文件传输API。这是模拟器的限制列表。这就是FileTransfer返回null而不是错误代码的原因。