这应该是一个简单的解决方案,但它让我发疯。
我使用FileTransfer插件将用相机拍摄的照片上传到服务器,几乎与文档完全一样。我正在使用基本的HTTP身份验证,它在Android和iOS上运行良好,但在黑莓上,它返回401 - 未经授权的错误。您是否必须做一些特殊的事情才能让文件上传工作在BB上?
我将白名单设置为*,因此不应该是问题,而且它正在所有其他设备上工作......
module.uploadPhoto = function(imageURI, obj) {
$.mobile.loading( 'show', {
text:'Sending File...',
textVisible:true
});
var uploadURL = CONTEXT+'api/'+obj.id+"/files";
var options = new FileUploadOptions();
options.fileKey="files[]";
options.fileName = 'image_' + imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
options.chunkedMode = false;
var params = new Object();
params.thread = 'object-' + obj.id;
options.params = params;
options.headers = {
Authorization: 'Basic ' + loginCreds
};
var ft = new FileTransfer();
ft.upload(imageURI, uploadURL,
function(r){
custAlert('Finished upload!', 'Photo upload successful.');
$.mobile.loading( 'hide' );
},
function(error){
custAlert('Error uploading image with object: ' +error.http_status+ ' and code - ' +error.code, 'Error Uploading');
$.mobile.loading( 'hide' );
},
options, true);
}
有谁知道这里发生了什么?我有点疯狂了......谢谢。