cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nii amon dsane (JIRA)" <>
Subject [jira] [Commented] (CB-6300) window.resolveLocalFileSystemURL weirdness
Date Wed, 19 Mar 2014 18:45:46 GMT


nii amon dsane commented on CB-6300:

Hey [~iclelland]. I've got some interesting behaviour to report.

1. Using toNativeURL() actually works fine when i'm using the camera to grab an image. When
the resolve success function runs and I call toNativeURL() on the fileEntry, I get a file
URL like this:


This is the original file URL that the hands back anyway. 

2. I can render this in the view and it works correctly. Interesting to note that I was previously
trying to render this same URL type and it was not working. I suppose this has something to
do with the org.apache.cordova.file-system-roots plugin you asked me to add to the project.

3. When I select a picture from the gallery, I get the file URL with the cache busting query


Passing that through the resolve predictably gives me the absolute path of the modified.jpg


Not very useful since I want to get the absolute file of the image so that I can refer to
it later without having to go through the same process again.

So the toNativeURL() approach works but only halfway.

> window.resolveLocalFileSystemURL weirdness
> ------------------------------------------
>                 Key: CB-6300
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android, CordovaJS, Plugin File
>    Affects Versions: 3.3.0
>         Environment: file plugin 1.0.1
>            Reporter: nii amon dsane
>            Assignee: Ian Clelland
>              Labels: camera, file, newbie, plugin, resolveLocalFileSystemURL
> I am trying to use the window.resolveLocalFileSystemURL but for some reason my failure
callback is always triggered. The success callback is never triggered. This is my code:
> {code}
> // Take a picture using the camera
> $scope.takePicture = function () {
>     var options = {
>       quality: 100,
>       targetWidth: 500,
>       targetHeight: 500,
>       destinationType: Camera.DestinationType.FILE_URI,
>       encodingType: Camera.EncodingType.JPEG,
>       saveToPhotoAlbum: true,
>       correctOrientation: true,
>       sourceType: Camera.PictureSourceType.CAMERA,
>       allowEdit: true
>     };
>       cameraSuccess,
>       cameraFailure,
>       options
>     );
>     return false;
>   };
>   // what to do when the camera has  successfully yielded a good image
>   function cameraSuccess(imageURI){
>     var uri = 'cdv' + imageURI;
>     alert('this is imageURI: ' + imageURI);
>     window.resolveLocalFileSystemURL(imageURI, resolvePhotoPath, fail);
>   };
> {code}
>   When I print out the imageURI, I get something like this:
>   file:///storage/sdcard0/DCIM/Camera/1395126124474.jpg
>   I can confirm that when I look at that path using the Files application on an   android,
the file is indeed there. But when the code runs and it executes the window.resolveLocalFileSystemURL,
the fail callback is always triggered with an error of \{"code":5}.
> I've seen that that means there's an ENCODING_ERR but a bit baffled as to what is causing
that. The file does save properly to that location so I am at a loss at to why the code will
> Any help here?

This message was sent by Atlassian JIRA

View raw message