2016-05-20 16:25:10 +00:00
|
|
|
# `File` Object
|
2014-10-25 06:58:32 +00:00
|
|
|
|
2016-04-21 22:39:12 +00:00
|
|
|
> Use the HTML5 `File` API to work natively with files on the filesystem.
|
2016-04-21 22:35:29 +00:00
|
|
|
|
2023-11-20 23:59:36 +00:00
|
|
|
> **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.
|
|
|
|
|
2015-08-26 23:41:25 +00:00
|
|
|
The DOM's File interface provides abstraction around native files in order to
|
2015-08-25 12:48:24 +00:00
|
|
|
let users work on native files directly with the HTML5 file API. Electron has
|
2015-08-26 23:41:25 +00:00
|
|
|
added a `path` attribute to the `File` interface which exposes the file's real
|
|
|
|
path on filesystem.
|
2014-10-25 06:58:32 +00:00
|
|
|
|
2016-11-03 17:26:00 +00:00
|
|
|
Example of getting a real path from a dragged-onto-the-app file:
|
2014-10-25 06:58:32 +00:00
|
|
|
|
|
|
|
```html
|
|
|
|
<div id="holder">
|
|
|
|
Drag your file here
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script>
|
2018-12-05 12:14:52 +00:00
|
|
|
document.addEventListener('drop', (e) => {
|
2017-07-11 06:44:08 +00:00
|
|
|
e.preventDefault();
|
|
|
|
e.stopPropagation();
|
2018-12-05 12:14:52 +00:00
|
|
|
|
|
|
|
for (const f of e.dataTransfer.files) {
|
2016-07-26 01:39:25 +00:00
|
|
|
console.log('File(s) you dragged here: ', f.path)
|
2016-07-20 04:51:58 +00:00
|
|
|
}
|
2017-07-11 06:44:08 +00:00
|
|
|
});
|
2018-12-05 12:14:52 +00:00
|
|
|
document.addEventListener('dragover', (e) => {
|
2017-07-11 06:44:08 +00:00
|
|
|
e.preventDefault();
|
|
|
|
e.stopPropagation();
|
|
|
|
});
|
2014-10-25 06:58:32 +00:00
|
|
|
</script>
|
|
|
|
```
|