Javascript Cordova文件传输映像未将文件上载到服务器
请帮我解决这个问题,我从上周就开始尝试解决这个问题。使用cordova文件传输插件,我尝试将我的图像上载到生产服务器 但是,我得到了错误代码1 我检查了源路径和目标路径都是可访问的。请查找我的cordova安装版本 Cordova->7.1.0,Phonegap->7.1.1,Cordova插件文件传输->spec=1.7.1 代码:Javascript Cordova文件传输映像未将文件上载到服务器,javascript,android,cordova,image-uploading,Javascript,Android,Cordova,Image Uploading,请帮我解决这个问题,我从上周就开始尝试解决这个问题。使用cordova文件传输插件,我尝试将我的图像上载到生产服务器 但是,我得到了错误代码1 我检查了源路径和目标路径都是可访问的。请查找我的cordova安装版本 Cordova->7.1.0,Phonegap->7.1.1,Cordova插件文件传输->spec=1.7.1 代码: 函数staticpathu\u upload(){ var fileURL=https://example.com/Al_2_1518090802.jpg';
函数staticpathu\u upload(){
var fileURL=https://example.com/Al_2_1518090802.jpg';
var uri=encodeURI('https://example.com/dummy.php');
var options=new FileUploadOptions();
options.fileKey=“文件”;
options.fileName=fileURL.substr(fileURL.lastIndexOf('/')+1);
options.mimeType=“image/jpeg”;
var ft=新文件传输();
ft.upload(文件URL、uri、onSuccess、onError、选项);
成功函数(r){
console.log(“Code=“+r.responseCode”);
console.log(“Response=“+r.Response”);
console.log(“Sent=“+r.bytesent”);
}
函数onError(错误){
console.log(错误);
警报(“发生错误:Code=“+error.Code”);
console.log(“上传错误源”+错误源);
日志(“上传错误目标”+错误目标);
}
}
文件URL
必须是
表示设备上的文件或数据URI的文件系统URL。为了向后兼容,这也可以是设备上文件的完整路径。(请参阅下面的向后兼容性说明)
看
这可能就是抛出
FileTransferError.FILE\u NOT\u FOUND\u ERR
(错误代码1)的原因。服务器URL存在此问题,它不允许我将图像发布到服务器。我已经在服务器根文件夹上创建了dummy.php,并从下面的代码中执行,工作正常。它不能从桌面上工作,我们只有签入手机或模拟器
function uploadphoto(){
navigator.camera.getPicture(uponSuccess, uponFail, { quality: 50,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
allowEdit: true,
destinationType: Camera.DestinationType.FILE_URI
});
// Change image source and upload photo to server
function uponSuccess(imageURI) {
// Set image source
var image = document.getElementById('fileuploadimg');
$$('.gAlbumList').append('<a href="#"><img src="'+imageURI + '?' + Math.random()+'" /></a>');
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
options.mimeType = "image/jpeg";
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
options.chunkedMode = false;
var ft = new FileTransfer();
ft.upload(imageURI, "https://example.com/dummy.php", function(result){
$$('.error').append('<p>successfully uploaded ' + result.response+'</p>');
}, function(error){
$$('.error').append('<p>error : ' + JSON.stringify(error)+'</p>');
}, options);
}
function uponFail(message) {
$$('.error').append('<p>Failed because: ' + message+'</p>');
}
函数上传照片(){
navigator.camera.getPicture(uponSuccess,uponFail,{质量:50,
源类型:Camera.PictureSourceType.PHOTOLIBRARY,
允许:是的,
destinationType:Camera.destinationType.FILE\u URI
});
//更改图像源并将照片上载到服务器
函数uponSuccess(imageURI){
//设置图像源
var image=document.getElementById('fileuploadimg');
$$('.gAlbumList')。追加('');
var options=new FileUploadOptions();
options.fileKey=“文件”;
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType=“image/jpeg”;
var params={};
params.value1=“测试”;
params.value2=“param”;
options.params=参数;
options.chunkedMode=false;
var ft=新文件传输();
ft.upload(imageURI,“https://example.com/dummy.php,函数(结果){
$$('.error').append('已成功上载'+result.response+'');
},函数(错误){
$$('.error').append('error:'+JSON.stringify(error)+'');
},选项);
}
函数uponFail(消息){
$$('.error').append('失败,因为:'+message+'');
}
签入window.resolveLocalFileSystemURL()和toInternalURL作为源代码。我的应用程序如下调用(正在生产和工作):window.resolveLocalFileSystemURL(imageUri,函数(条目){getB64Image(entry.toInternalURL());};//其中getB64Image是创建FileUploadOptions/FileTransfer/etc并上载的函数。