我正在使用带有cordova的jquery来构建一个应用程序,在Android上一切都像魅力一样,但在ios上使用filetransfer插件无法上传。
这是我用来上传用户已经使用文件插件选择的图片的功能:
function uploadFile() {
var fileURI = $("#selectedPicture").attr("src");
var options = new FileUploadOptions();
options.fileKey = "file";
options.mimeType = "image/jpeg";
options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1);
var params = new Object();
options.params = params;
options.chunkedMode = false;
var ft = new FileTransfer();
ft.upload(fileURI, serviceURL+"uploadFile",function(r){
alert(r.response);
}, fail,
options);
}
var fail = function (error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
控制台上的我没有收到任何错误或消息 我将这些添加到我的infoplist文件中的行:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
PS 1:我使用的是ios 9.2
PS 2:我使用了cordova 6。
PS 3:正常的ajax很有效,只有上传不起作用。
PS 4:我使用最新的ios模拟器测试代码。
答案 0 :(得分:1)
问题出在我试图上传的图片尺寸上。 我刚刚选择了另一张图片,我得到了我想要的东西。