Вы можете использовать виртуальную файловую систему HTML5 в качестве «ступенчатого» места перед копированием его в финале «реальный» папка. Вам все равно нужно запросить доступ к последней папке.
Большинство деталей можно найти в Exploring the FileSystem API статье, но идея заключается в следующем: chrome.fileSystem
API построен на тех же принципах, вы просто получить различные записи, когда вы запрашиваете их chrome.fileSystem.chooseEntry
Чтобы получить виртуальную файловую систему, вместо из реальной, вам нужен другой вызов:
window.webkitRequestFileSystem(
window.TEMPORARY,
5*1024*1024 /* 5MB, adjust as needed, may require "unlimitedStorage" permission */,
onInitFs,
errorHandler
);
function onInitFs(filesystem) {
/* do something with filesystem.root, which is a DirectoryEntry,
just as you would with `chrome.fileSystem.chooseEntry` */
}
для получения дополнительной документации, MDN хорошее место.
Да, есть большие красные страшные предупреждения «не использовать». Он не переносится, поскольку только Chrome реализует его, и другие браузеры решили не делать этого. Но для написания специально приложения для Chrome все в порядке. Если вам нужна уверенность в том, что Chrome продолжит его поддерживать - ну, chrome.fileSystem
тесно связан с ним.
Для чего это необходимо? Чтобы писать в настоящую файловую систему, вам нужно согласие пользователя, вы не можете просто выбрать место. Если вам нужен только временный файл, вы можете сделать это с помощью виртуальной файловой системы. – Xan
Как я могу работать с виртуальной файловой системой? Мне нужно создать файл в папке temp, а затем скопировать в другую папку. Сложный, но нужен он таким образом :( –
Вопрос в том, что он вам нужен для пользователя или только внутри приложения? (Также, я полагаю, добавочный тег не применяется, поскольку это API только для приложения) – Xan