* feat: add blinkUtils module with getPathForFile method This is designed to replace the File.path augmentation we currently have in place to allow apps to get the filesystem path for a file that blink has a representation of. File.path is non-standard and messes with certain websites, using a method like this is effectively 0-cost and removes one of the final deviations we have with web standards. * add error * refactor: update per PR feedback * chore: update patches * oops * chore: update patches * chore: update patches * feat: add blinkUtils module with getPathForFile method This is designed to replace the File.path augmentation we currently have in place to allow apps to get the filesystem path for a file that blink has a representation of. File.path is non-standard and messes with certain websites, using a method like this is effectively 0-cost and removes one of the final deviations we have with web standards. * add error * refactor: update per PR feedback * chore: update patches * oops * chore: update patches * chore: update patches * chore: update patches * fix: provide isolate to WebBlob::FromV8Value * chore: add tests * build: fix depshash mismatch on arm64 macOS --------- Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			1,013 B
			
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1,013 B
			
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# `File` Object
 | 
						|
 | 
						|
> Use the HTML5 `File` API to work natively with files on the filesystem.
 | 
						|
 | 
						|
> **Warning**
 | 
						|
> The `path` property that Electron adds to the `File` interface is deprecated
 | 
						|
> and **will** be removed in a future Electron release.  We recommend you
 | 
						|
> use `webUtils.getPathForFile` instead.
 | 
						|
 | 
						|
The DOM's File interface provides abstraction around native files in order to
 | 
						|
let users work on native files directly with the HTML5 file API. Electron has
 | 
						|
added a `path` attribute to the `File` interface which exposes the file's real
 | 
						|
path on filesystem.
 | 
						|
 | 
						|
Example of getting a real path from a dragged-onto-the-app file:
 | 
						|
 | 
						|
```html
 | 
						|
<div id="holder">
 | 
						|
  Drag your file here
 | 
						|
</div>
 | 
						|
 | 
						|
<script>
 | 
						|
  document.addEventListener('drop', (e) => {
 | 
						|
    e.preventDefault();
 | 
						|
    e.stopPropagation();
 | 
						|
 | 
						|
    for (const f of e.dataTransfer.files) {
 | 
						|
      console.log('File(s) you dragged here: ', f.path)
 | 
						|
    }
 | 
						|
  });
 | 
						|
  document.addEventListener('dragover', (e) => {
 | 
						|
    e.preventDefault();
 | 
						|
    e.stopPropagation();
 | 
						|
  });
 | 
						|
</script>
 | 
						|
```
 |