fancsali opened a new issue, #653:
URL: https://github.com/apache/cordova-plugin-file/issues/653

   # Bug Report
   
   ## Problem
   
   ### What is expected to happen?
   I should be able to read a FileEntry's metadata no matter how I got hold of 
the object
   
   
   ### What does actually happen?
   I retrieving the FileEntry handle directly via `resolveLocalFilesystemURL` I 
can call getMetadata() on the returned object without an issue; but if I obtain 
the handle by reading the parent (root) directory, the call will result in 
NOT_FOUND_ERR` 
   
   ### Command or Code
   <!-- What command or code is needed to reproduce the problem? -->
   I am running the below code in the `deviceready` event handler:
   ```
   console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
   
   function errorHandler(e) {
           console.error("Error: ", e);
       }
   
       function testFileMetadataRead() {
           console.log("Successful file write...");
   
           window.resolveLocalFileSystemURL(cordova.file.dataDirectory + 
"/test.txt", function(file) {
               console.log("Contructor of FILE handle", file.constructor);
               file.getMetadata(
                   function (m) { console.log("Getting FILE metadata", file, m) 
},
                   function (e) { console.log("Error getting FILE metadata", e) 
}
               );
           }, errorHandler);
   
           window.resolveLocalFileSystemURL(cordova.file.dataDirectory, 
function(dir) {
               dir.createReader().readEntries(function (entries) {
                   entries.forEach(function(entry) {
                       console.log("Contructor of DIRECTORY ENTRY handle", 
entry.constructor);
                       entry.getMetadata(
                           function (m) { console.log("Getting DIR ENTRY 
metadata", file, m) },
                           function (e) { console.log("Error getting DIR ENTRY 
metadata", e) }
                       );
                   });
               }, function (e) { console.log("Error listing directory", e) });
           }, errorHandler);
       }
   
       window.resolveLocalFileSystemURL(cordova.file.dataDirectory, 
function(dir) {
           dir.getFile("test.txt", { create: true, exclusive: false }, function 
(fileEntry) {
               fileEntry.createWriter(function (fileWriter) {
                   fileWriter.onwriteend = testFileMetadataRead;
                   fileWriter.onerror = function (e) { console.log("Error 
writing FILE", e) };
   
                   const blob = new Blob(["The quick brown fox jumps over the 
lazy dog!"], { type: 'text/plain' });
                   fileWriter.write(blob);
               });
           },
           function (e) { console.log("Error creating new file", e) });
        }, errorHandler);
   ```
   
   ## Result
   ```
   Running [email protected] bundle.js:480:13
   Successful file write... bundle.js:509:17
   
   Contructor of FILE handle 
   function FileEntry(name, fullPath, fileSystem, nativeURL)
   bundle.js:512:21
   
   Getting FILE metadata 
   Object { isFile: true, isDirectory: false, name: "test.txt", fullPath: 
"/test.txt", filesystem: {…}, nativeURL: null }
   Object { modificationTime: Date Sun Mar 22 2026 16:13:17 GMT+0000 (Greenwich 
Mean Time), size: 44 }
   bundle.js:514:40
   
   Contructor of DIRECTORY ENTRY handle 
   function FileEntry(name, fullPath, fileSystem, nativeURL)
   bundle.js:522:29
   
   Error getting DIR ENTRY metadata 
   Object { code: 1 }
   bundle.js:525:48
   ```
   
   
   ### Environment, Platform, Device
   <!-- In what environment, on what platform or on which device are you 
experiencing the issue? -->
   Using Cordova Browser for testing on Linux Mint 22.3.
   
   
   ### Version information
   <!-- 
   What are relevant versions you are using?
   For example:
   Cordova: Cordova CLI, Cordova Platforms, Cordova Plugins 
   Other Frameworks: Ionic Framework and CLI version
   Operating System, Android Studio, Xcode etc.
   -->
   [email protected]
   [email protected]
   [email protected]
   
   ## Checklist
   <!-- Please check the boxes by putting an x in the [ ] like so: [x] -->
   
   - [x] I searched for existing GitHub issues
   - [x] I updated all Cordova tooling to most recent version
   - [x] I included all the necessary information above
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to