Сохранить и изменить имя файла с помощью chrome.filesystem

Возможно ли это с помощью chrome.fileSystem, чтобы сохранить файл на клиентском диске, но изменив имя файла. Например, я сжимаю файл и хочу, чтобы этот файл хранился на диске, например, с моим новым именем newFile.min.js. Я могу сохранить файл на диск, но не изменить его имя. И то, что я хотел бы, чтобы все было сделано в "тихом" без окна, которое запрашивает местоположение.

Вот функция, которую я использую для сохранения своих файлов:

    function saveToEntry(entry, result) {
  setTitle();

  var blob = new Blob([result], {type: 'text/plain'});
  currentEntry.createWriter(function(writer) {
    writer.onwrite = function() {
      writer.onwrite = null;
      writer.write(blob);
    }
    writer.truncate(blob.size);
  });
}

function setTitle() {
  chrome.fileSystem.getDisplayPath(
      currentEntry,
      function(path) {
console.log(path);
        document.title = path;
      });
}

Это возможно? И если это так, если у вас есть какой-либо пример, чтобы привести меня, было бы здорово. Если нет, было бы тоже здорово:)

Заранее благодарю за совет!

1 ответ

Для этого (сохранение в отдельном файле), я боюсь, что вам нужно спросить пользователя о праве записи для папки, а не отдельного файла. Тогда вы сможете создать новый файл в нем.

Я предлагаю вам либо попросить пользователя выбрать "рабочий" каталог, представить из этой папки средство выбора файлов в приложении и сохранить результат рядом с обычным файлом.

Также можно попросить пользователя выбрать папку "output" и вывести туда результаты.


Другим решением может быть требование модуля Native Host. Вы сможете получить доступ к системе с теми же правами, что и у пользователя. Это ограничит ваши возможности развертывания: вам понадобится отдельный установщик для вашего модуля, который нельзя разместить в Chrome Web Store.

Другие вопросы по тегам