[ 
https://issues.apache.org/jira/browse/CB-543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13257934#comment-13257934
 ] 

Shazron Abdullah commented on CB-543:
-------------------------------------

the js: 
https://github.com/apache/incubator-cordova-js/blob/master/lib/common/plugin/FileTransfer.js#L19

Index 4 means the fileName option was not provided. There was a change in 1.6.0 
where the options were moved, and are now arguments (to make it cross-platform, 
basically taking the Android js). The Obj-C treats these as required arguments 
(incorrect), when they should be optional as per the docs. 

There was a regression that I found in 1.6.0 as well, while researching this 
issue: CB-255

As a workaround in 1.6, please provide the optional "fileName" and "mimeType" 
options as well - in fact all three options fileName, mimeType and fileKey 
should be provided for 1.6.0 to prevent this issue.

                
> FileTransfer.upload WebKit discarded an uncaught exception
> ----------------------------------------------------------
>
>                 Key: CB-543
>                 URL: https://issues.apache.org/jira/browse/CB-543
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.6.1
>         Environment: OS X Lion, Xcode 4.3.2, iPhone iOS 5.1
>            Reporter: Richard Kimber
>            Assignee: Shazron Abdullah
>            Priority: Critical
>             Fix For: 1.7.0
>
>
> Unable to upload file to server using FileTransfer.upload.
> The following code:
>       var onSuccess, onError;
>       options.destinationType = Camera.DestinationType.FILE_URI;
>       onSuccess = function(imageURI) {
>               Ext.get("uploaded_image_" + 
> name).setStyle("background-image","url(" + imageURI + ")");
>               app.views[name + "Form"].imageURI = imageURI;
>       };
>       
>       onError = function(message) {
>               console.log(message);
>               Ext.Msg.alert("Camera", "There was a problem with the camera.");
>       };
>       navigator.camera.getPicture(onSuccess, onError, options);
>       ----
>       var options = new FileUploadOptions();
>       options.fileKey = "repair[image]";
>       options.params = fix_form_names(form.getValues());
>       var ft = new FileTransfer();
>       ft.upload(form.imageURI, form.url, win, fail, options, true);
> Returns the following error:
>       *** WebKit discarded an uncaught exception in the 
> webView:decidePolicyForNavigationAction:request:frame:decisionListener: 
> delegate: <NSRangeException> *** -[JKArray objectAtIndex:]: index (4) beyond 
> bounds (4)
> This code was working on PhoneGap 1.4.1.
> Further reports at 
> https://groups.google.com/forum/?fromgroups#!topic/phonegap/w8SOE5IEr9o

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to