Spec-Zone.ru › Web APIs

FileSystemEntry: метод moveTo()

Устаревший: Данная функция больше не рекомендуется. Хотя некоторые браузеры могут её всё ещё поддерживать, она, возможно, уже удалена из соответствующих веб-стандартов, находится в процессе удаления или поддерживается только для совместимости. Пожалуйста, избегайте её использования и обновите существующий код, если это возможно; см. таблицу совместимости внизу этой страницы для принятия решения. Имейте в виду, что эта функция может перестать работать в любой момент.

Нестандартный: Эта функция нестандартна и не соответствует стандартам. Не используйте её на продуктивных сайтах, ориентированных на веб: она не будет работать для каждого пользователя. Также могут быть большие несовместимости между реализациями, и поведение может измениться в будущем.

Метод moveTo() интерфейса FileSystemEntry перемещает файл, указанный записью, в новое местоположение в файловой системе или переименовывает файл, если целевой каталог такой же, как исходный.

Существуют некоторые типичные ограничения на то, что вы можете сделать:

  • Каталог не может быть перемещён в самого себя.
  • Запись не может быть перемещена в родительский каталог, если не указано новое имя. Указание нового имени позволяет moveTo() выполнять операцию переименования.
  • При перемещении каталога перемещение всегда рекурсивное; вы не можете пропустить подкаталоги.
  • Вы не можете переместить файл так, чтобы он заменил существующий каталог, и вы не можете переместить каталог так, чтобы он заменил существующий файл. Однако файл может заменить файл, а каталог может заменить каталог.
  • Вы можете перезаписать каталог только если он пустой.

Синтаксис

moveTo(newParent, newName)
moveTo(newParent, newName, successCallback)
moveTo(newParent, newName, successCallback, errorCallback)

Параметры

newParent

Объект FileSystemDirectoryEntry, указывающий целевой каталог для операции перемещения.

newName Необязательно

Если этот параметр предоставлен, запись переименовывается в строку с новым именем файла или каталога.

successCallback Необязательно

Функция, которая вызывается, когда операция перемещения выполняется успешно. Принимает один входной параметр: объект на основе FileSystemEntry, предоставляющий новые данные перемещённого элемента.

errorCallback Необязательно

Необязательный обратный вызов, который выполняется, если при перемещении элементов возникла ошибка. Есть один параметр: FileError, описывающий причину ошибки.

Возвращаемое значение

None (undefined).

Исключения

FileError.INVALID_MODIFICATION_ERR

Запрашиваемая операция включает в себя невозможное изменение, например, перемещение каталога в себя или один из своих дочерних каталогов, или копирование элемента в том же каталоге без переименования.

FileError.QUOTA_EXCEEDED_ERR

Операция превысила квоту хранилища пользователя или свободного места в хранилище недостаточно для завершения операции.

Примеры

Этот пример демонстрирует, как временный файл журнала может быть перемещён в более постоянный каталог "log", когда его размер превышает один мегабайт.

workingDirectory.getFile(
  "tmp/log.txt",
  {},
  (fileEntry) => {
    fileEntry.getMetadata((metadata) => {
      if (metadata.size > 1048576) {
        workingDirectory.getDirectory(
          "log",
          {},
          (dirEntry) => {
            fileEntry.moveTo(dirEntry);
          },
          handleError,
        );
      }
    });
  },
  handleError,
);

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
moveTo 8 79 Нет Нет Нет 18 Нет 14 Нет 1.0 ≤37

См. также

  • API для файлов и каталогов
  • Введение в API для файлов и каталогов
  • FileSystemEntry.copyTo()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry/moveTo

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API