0

这应该是一个简单的解决方案,但它让我发疯。

我正在使用 FileTransfer 插件将用相机拍摄的照片上传到服务器,与文档非常相似。我正在使用基本的 HTTP 身份验证,它在 Android 和 iOS 上完美运行,但在黑莓上,它返回 401 - Unauthorized 错误。您是否需要做一些特别的事情才能让文件上传在 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);

}

有谁知道这里发生了什么?我有点疯了......谢谢。

4

0 回答 0