Phonegap's FileTransfer.upload() throwing error code 3 on Android

后端 未结 8 1503
离开以前
离开以前 2020-12-16 03:01

I am working on uploading a picture to a server. I am able to successfully upload an image using iOS but when i try on android I get the error code 3. Currently using phoneg

相关标签:
8条回答
  • 2020-12-16 03:13

    This could also be a reason, and solved it for me:

    iOS 9 and OSX 10.11 require TLSv1.2 SSL for all hosts you plan to request data from unless you specify exception domains in your app's Info.plist file.

    (CFNetwork SSLHandshake failed iOS 9)

    0 讨论(0)
  • 2020-12-16 03:18

    The issue probably is not in Phonegap. if the server is a Windows based server, try using another server. Also, don´t forget to add these lines:

    var options = new FileUploadOptions();
    options.chunkedMode = false;
    options.headers = {
          Connection: "close"
       };
    
    0 讨论(0)
  • 2020-12-16 03:21

    add code:

    var op;
    op = new FileUploadOptions();
    
    op.headers = {
        Connection: "close"
    };
    

    After adding this - code started to work well with no errors. A bit more detailed description: http://grandiz.com/phonegap-development/phonegap-file-transfer-error-code-3-solved Hope that helps!

    0 讨论(0)
  • 2020-12-16 03:25

    This is an unfixed bug in the phonegap library, since there were no bug fixes, i had to get it work by my work around (Basically reupload on every alternate failure):

    ft.upload(path,
              encodeURI("http://yourdomain.com/upload.php"),
                function(result) {
                    alert("Uploaded");
                },
                function(error) {
                    ft.upload(path,
                    encodeURI("http://yourdomain.com/upload.php"),
                    function(result) {
                        alert("Uploaded");                  
                    },
                    function(error) {
                        alert("Error uploading image");
                    },
                    { fileName: name, fileKey: "file", mimeType: "image/jpeg", chunkedMode: false }, true);     
                },
                { fileName: name, fileKey: "file", mimeType: "image/jpeg", chunkedMode: false }, true);
    
    0 讨论(0)
  • 2020-12-16 03:28

    This happened to me too. You should specify chunkedMode=false (http://stackoverflow.com/questions/8522729/phonegap-filetransfer-upload-fails-on-android)

    var options = FileUploadOptions();
    options.chunkedMode = false;
    
    0 讨论(0)
  • 2020-12-16 03:28

    These are steps I used to overcome this problem:

    Added the following options:

    options.chunkedMode = false;
    options.headers = {
          Connection: "close"
       };
    

    But more important was the fact that I was using Genymotion as the emulator for testing. Uploading the image to localhost was not working because the emulator was running in a VM and localhost meant the VM's localhost and not the localhost of your web server.

    So instead of uploading to 'localhost', you should upload to:

    http://10.0.2.2 
    

    and add the following line to your config.xml:

    <access origin="10.0.2.2" subdomains="true"/>
    

    I tested it and its working like a charm. Took me 3 days to get this working though.

    0 讨论(0)
提交回复
热议问题