Note that there are some explanatory texts on larger screens.

plurals
  1. POPhoneGap/Cordova FileTransfer.abort not working as expected
    primarykey
    data
    text
    <p>I am writing a routine to upload images from my iPhone (4S, iOS 6.1) to a server.</p> <pre><code>var ft = undefined; var e = document.getElementById('stopper'); e.addEventListener('click', onStopUploadBtn, false); function uploadPhoto(imageURI) { console.log('Preparing to upload' + imageURI); ... ft = new FileTransfer(); ft.onprogress = onProgress; ft.upload(imageURI, url, onUploadSuccess, onUploadError, uploadOptions); console.log('upload started'); } function onStopUploadBtn() { if(ft) { console.log('Aborting'); ft.abort(onUploadSuccess, onUploadError); } } function onProgress(progressEvent) { if (progressEvent.lengthComputable) { console.log(progressEvent.loaded / progressEvent.total); } function onUploadSuccess(response) { console.log("Code = " + response.responseCode); console.log("Response = " + response.response); console.log("Sent = " + response.bytesSent); } function onUploadError(error) { alert("An error has occurred: Code = " = error.code); } </code></pre> <p>The upload works like a charm, but I am not able to stop it with .abort().</p> <p>In fact, when a I press the stopper button, I see that ft.abort() is invoked, but the transfer keep going, till comp</p> <p>Here the log:</p> <pre><code>2013-02-09 12:29:18.422 HelloWorld[855:907] Multi-tasking -&gt; Device: YES, App: YES 2013-02-09 12:29:22.496 HelloWorld[855:907] [LOG] opening camera 2013-02-09 12:29:30.728 HelloWorld[855:907] [LOG] Preparing to uploadfile://localhost/var/mobile/Applications/C82E5A93-D276-4380-8420-39165C9644C4/tmp/cdv_photo_014.jpg 2013-02-09 12:29:30.729 HelloWorld[855:907] [LOG] upload ready to go 2013-02-09 12:29:30.732 HelloWorld[855:907] -[CDVFileTransfer requestForUploadCommand:fileData:][Line 207] fileData length: 1016478 2013-02-09 12:29:30.734 HelloWorld[855:907] [LOG] upload started 2013-02-09 12:29:31.208 HelloWorld[855:907] [LOG] 0.03223007996537784 2013-02-09 12:29:31.210 HelloWorld[855:907] [LOG] 0.06446015993075568 2013-02-09 12:29:31.213 HelloWorld[855:907] [LOG] 0.09669023989613353 ... 2013-02-09 12:29:32.057 HelloWorld[855:907] [LOG] 0.16511030894372916 2013-02-09 12:29:32.113 HelloWorld[855:907] [LOG] 0.167868278432954 2013-02-09 12:29:32.172 HelloWorld[855:907] [LOG] 0.17062624792217884 2013-02-09 12:29:32.188 HelloWorld[855:907] [LOG] Aborting 2013-02-09 12:29:32.191 HelloWorld[855:907] FileTransferError { code = 4; source = "file://localhost/var/mobile/Applications/C82E5A93-D276-4380-8420-39165C9644C4/tmp/cdv_photo_014.jpg"; target = "..."; } 2013-02-09 12:29:32.229 HelloWorld[855:907] [LOG] 0.17338421741140367 ... 2013-02-09 12:29:45.641 HelloWorld[855:907] [LOG] 0.9939470241666585 2013-02-09 12:29:45.698 HelloWorld[855:907] [LOG] 0.9967049936558833 2013-02-09 12:29:45.757 HelloWorld[855:907] [LOG] 0.9991324789267132 2013-02-09 12:29:45.813 HelloWorld[855:907] [LOG] 1 2013-02-09 12:30:17.200 HelloWorld[855:907] File Transfer Finished with response code 200 2013-02-09 12:30:17.203 HelloWorld[855:907] [LOG] Code = 200 2013-02-09 12:30:17.204 HelloWorld[855:907] [LOG] Response = 17 2013-02-09 12:30:17.205 HelloWorld[855:907] [LOG] Sent = 1016692 </code></pre> <p>The .abort() is called properly, as I receive the error stated in the API's <a href="http://docs.phonegap.com/en/2.3.0/cordova_file_file.md.html#FileTransfer" rel="nofollow">http://docs.phonegap.com/en/2.3.0/cordova_file_file.md.html#FileTransfer</a> .</p> <p>The image is correctly transferred to the server, as the log says.</p> <p>Do you have any idea on what is going on?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload