chrome.fileSystem

설명

chrome.fileSystem API를 사용하여 사용자의 로컬 파일 시스템을 만들고, 읽고, 탐색하고, 쓸 수 있습니다. 이 API를 사용하면 Chrome 앱이 사용자가 선택한 위치를 읽고 쓸 수 있습니다. 예를 들어 텍스트 편집기 앱은 API를 사용하여 로컬 문서를 읽고 쓸 수 있습니다. 모든 실패는 chrome.runtime.lastError를 통해 알림이 전송됩니다.

권한

fileSystem

가용성

포그라운드만

유형

AcceptOption

속성

  • 설명

    문자열 선택사항

    이 옵션의 선택적 텍스트 설명입니다. 없는 경우 설명이 자동으로 생성됩니다. 일반적으로 유효한 확장 프로그램의 확장 목록이 포함됩니다 (예: 'text/html'이 '*.html, *.htm'으로 확장될 수 있음).

  • 확장 프로그램

    string[] 선택사항

    허용할 확장자입니다(예: 'jpg', 'gif', 'crx').

  • mimeTypes

    string[] 선택사항

    허용할 MIME 유형입니다(예: 'image/jpeg' 또는 'audio/*'). mimeTypes 또는 extensions 중 하나에 유효한 요소가 하나 이상 포함되어야 합니다.

ChooseEntryOptions

속성

  • 수락

    AcceptOption[] 선택사항

    이 파일 오프너의 허용 옵션 목록(선택사항)입니다. 각 옵션은 최종 사용자에게 고유한 그룹으로 표시됩니다.

  • acceptsAllTypes

    불리언 선택사항

    accepts 인수에 지정된 옵션 외에 모든 파일 형식을 허용할지 여부입니다. 기본값은 true입니다. accepts 필드가 설정되지 않았거나 유효한 항목이 포함되어 있지 않으면 항상 true로 재설정됩니다.

  • acceptsMultiple

    불리언 선택사항

    여러 파일을 허용할지 여부입니다. 이는 openFile 및 openWritableFile에서만 지원됩니다. 이 값이 true로 설정되면 chooseEntry 콜백이 항목 목록과 함께 호출됩니다. 그렇지 않으면 단일 항목으로 호출됩니다.

  • suggestedName

    문자열 선택사항

    읽기 또는 쓰기의 기본 이름으로 사용자에게 표시되는 추천 파일 이름입니다. 이는 선택사항입니다.

  • 유형

    ChooseEntryType 선택사항

    표시할 프롬프트의 유형입니다. 기본값은 'openFile'입니다.

ChooseEntryType

열거형

'openFile'
사용자에게 기존 파일을 열도록 메시지를 표시하고 성공 시 FileEntry를 반환합니다. Chrome 31부터는 애플리케이션에 'fileSystem' 아래의 'write' 권한이 있으면 FileEntry가 쓰기 가능하며, 그렇지 않으면 FileEntry가 읽기 전용입니다.

'openWritableFile'
사용자에게 기존 파일을 열도록 메시지를 표시하고 성공 시 쓰기 가능한 FileEntry를 반환합니다. 이 유형을 사용하는 호출은 애플리케이션에 'fileSystem' 아래의 'write' 권한이 없는 경우 런타임 오류와 함께 실패합니다.

'saveFile'
사용자에게 기존 파일 또는 새 파일을 열도록 메시지를 표시하고 성공 시 쓰기 가능한 FileEntry를 반환합니다. 이 유형을 사용하는 호출은 애플리케이션에 'fileSystem' 아래의 'write' 권한이 없는 경우 런타임 오류와 함께 실패합니다.

'openDirectory'
사용자에게 디렉터리를 열도록 메시지를 표시하고 성공 시 DirectoryEntry를 반환합니다. 이 유형을 사용하는 호출은 애플리케이션에 'fileSystem' 아래의 'directory' 권한이 없는 경우 런타임 오류와 함께 실패합니다. 애플리케이션에 'fileSystem' 아래의 'write' 권한이 있으면 반환된 DirectoryEntry는 쓰기 가능합니다. 그렇지 않으면 읽기 전용입니다. Chrome 31의 새로운 기능

RequestFileSystemOptions

Chrome 44 이상

속성

  • volumeId

    문자열

    요청된 볼륨의 ID입니다.

  • 쓰기 가능

    불리언 선택사항

    요청된 파일 시스템이 쓰기 가능해야 하는지 여부입니다. 기본값은 읽기 전용입니다.

Volume

Chrome 44 이상

속성

  • volumeId

    문자열

  • 쓰기 가능

    부울

VolumeListChangedEvent

Chrome 44 이상

속성

메서드

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

사용자에게 파일 또는 디렉터리를 선택하도록 요청합니다.

매개변수

  • 옵션

    ChooseEntryOptions 선택사항

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • entry

      항목 선택사항

    • fileEntries

      FileEntry[] 선택사항

getDisplayPath()

Promise
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Entry 객체의 표시 경로를 가져옵니다. 표시 경로는 로컬 파일 시스템에 있는 파일 또는 디렉터리의 전체 경로를 기반으로 하지만 표시 목적으로 더 읽기 쉽게 만들 수 있습니다.

매개변수

  • entry

    항목

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (displayPath: string) => void

    • displayPath

      문자열

반환 값

  • Promise<string>

    Chrome 117 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getVolumeList()

Promise Chrome 44 이상
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

requestFileSystem()에 사용할 수 있는 볼륨 목록을 반환합니다. "fileSystem": {"requestFileSystem"} 매니페스트 권한이 필요합니다. 키오스크 세션에서 실행되는 키오스크 앱에서만 사용 가능합니다. 오류가 발생하면 volumes는 정의되지 않고 chrome.runtime.lastError가 설정됩니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (volumes?: Volume[]) => void

    • volumes

      볼륨[] 선택사항

반환 값

  • Promise<Volume[] | undefined>

    Chrome 117 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)
: void

다른 항목에서 쓰기 가능한 항목을 가져옵니다. 애플리케이션에 'fileSystem' 아래의 'write' 권한이 없으면 이 호출은 런타임 오류와 함께 실패합니다. 항목이 DirectoryEntry인 경우 애플리케이션에 'fileSystem' 아래의 'directory' 권한이 없으면 이 호출이 실패합니다.

매개변수

  • entry

    항목

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (entry: Entry) => void

    • entry

      항목

isRestorable()

Promise
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

앱에 지정된 ID로 항목을 복원할 권한이 있는지 여부를 반환합니다.

매개변수

  • id

    문자열

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (isRestorable: boolean) => void

    • isRestorable

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

isWritableEntry()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

이 항목이 쓰기 가능한지 여부를 가져옵니다.

매개변수

  • entry

    항목

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (isWritable: boolean) => void

    • isWritable

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

requestFileSystem()

Promise Chrome 44 이상
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

options.volumeId로 표시된 볼륨의 파일 시스템에 대한 액세스를 요청합니다. options.writable이 true로 설정되면 파일 시스템이 쓰기 가능해집니다. 그렇지 않으면 읽기 전용이 됩니다. writable 옵션에는 매니페스트의 "fileSystem": {"write"} 권한이 필요합니다. 키오스크 세션에서 실행되는 키오스크 앱에서만 사용할 수 있습니다. 수동 실행 키오스크 모드의 경우 활성 앱 창 위에 확인 대화상자가 표시됩니다. 오류가 발생하면 fileSystem는 정의되지 않고 chrome.runtime.lastError가 설정됩니다.

매개변수

  • callback

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem 선택사항

반환 값

  • Promise<FileSystem | undefined>

    Chrome 117 이상

    Promise는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)
: void

복원할 수 있는 경우 지정된 ID가 있는 파일 항목을 반환합니다. 그렇지 않으면 이 호출이 런타임 오류와 함께 실패합니다.

매개변수

  • id

    문자열

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (entry: Entry) => void

    • entry

      항목

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

지정된 파일 항목에 대한 액세스 권한을 다시 얻기 위해 restoreEntry에 전달할 수 있는 ID를 반환합니다. 가장 최근에 사용된 항목 500개만 보관되며, retainEntry 및 restoreEntry 호출은 사용으로 간주됩니다. 앱에 'fileSystem' 아래에 'retainEntries' 권한이 있으면 항목이 무기한으로 보관됩니다. 그렇지 않으면 항목은 앱이 실행되는 동안과 다시 시작하는 동안에만 유지됩니다.

매개변수

  • entry

    항목

반환 값

  • 문자열

이벤트

onVolumeListChanged

Chrome 44 이상
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

사용 가능한 볼륨 목록이 변경될 때 호출됩니다.

매개변수