我的应用程序包含以下上传javascript:
function take_image() {
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(localURI) {
window.resolveLocalFileSystemURI(localURI, function(fileEntry) {
myURI=fileEntry.fullPath;
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=myURI.substr(myURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var params = new Object();
params.value1 = "test";
params.value2 = "param";
options.params = params;
options.chunkedMode = true;
var ft = new FileTransfer();
ft.upload(myURI, "http://www.mydomain.co.uk/uploadimage.php", win, fail, options);
alert(myURI + " uploading");
}, resolveFail);
}
这位于那里大约5分钟,并且在ft.upload调用中失败并显示错误代码1(找不到文件)。
我已经使用resolveLocalFileSystemURI来绕过你从navigator.camera.getPicture获得的奇怪路径,有时候,我认为这是最初的问题。要上传的文件路径看起来不错,但是在真的好长期考虑之后找不到文件。
用这个尝试了一切,演示代码根本不起作用。这可能是权限问题吗?
答案 0 :(得分:0)
排在最后,我在连接到我的wifi网络的平板电脑上测试了这个。当使用移动数据连接在手机上进行测试时,它可以很好地工作,当平板电脑连接到手机时同样如此。
不知道为什么它给出了错误1(找不到文件)而不是错误3(连接错误),或者确实为什么它不能使用我的wifi连接来发送数据。
许多代码示例使用上面的代码而没有resolveLocalFileSystemURI元素,如果你不断收到错误,请尝试上述内容。