[
https://issues.apache.org/jira/browse/CB-9282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Kotikov resolved CB-9282.
----------------------------------
Resolution: Fixed
This seems to be fixed by this PR -
[#167|https://github.com/apache/cordova-plugin-file/pull/167]. Closing as fixed
> Plugin File for Android seems to require trailing slash to identify a
> directory
> -------------------------------------------------------------------------------
>
> Key: CB-9282
> URL: https://issues.apache.org/jira/browse/CB-9282
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin File
> Affects Versions: 2.1.0
> Reporter: Adriano Di Giovanni
> Priority: Minor
> Labels: Android
>
> Looking at LocalFileSystemURL.java, lines 39~55
> ```java
> public static LocalFilesystemURL parse(Uri uri) {
> if (!FILESYSTEM_PROTOCOL.equals(uri.getScheme())) {
> return null;
> }
> String path = uri.getPath();
> if (path.length() < 1) {
> return null;
> }
> int firstSlashIdx = path.indexOf('/', 1);
> if (firstSlashIdx < 0) {
> return null;
> }
> String fsName = path.substring(1, firstSlashIdx);
> path = path.substring(firstSlashIdx);
> boolean isDirectory = path.charAt(path.length() - 1) == '/';
> return new LocalFilesystemURL(uri, fsName, path, isDirectory);
> }
> ```
> I found that operations on urls like cdvfile://localhost/persistent (without
> trailing slash) don't work because firstSlashIds < 0.
> Looking at line 53, Plugin file relies on trailing slash to know in advance
> if uri is a directory.
> I can't find any mention of that in the docs.
> I find that relying on trailing slashes to identify a directory imposes a
> burden for client code that must normalize all paths before calling any
> Plugin File function.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]