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

    문자열 선택사항

    사용자에게 저장할 기본 이름으로 표시되는 추천 파일 이름입니다. 이는 선택사항이며 'saveFile'에만 적용됩니다.

  • 유형

    ChooseEntryType 선택사항

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

ChooseEntryType

열거형

"openFile"
사용자에게 기존 파일을 열라는 메시지를 표시하고 성공 시 FileEntry를 반환합니다. Chrome 31부터는 애플리케이션에 'fileSystem'의 'write' 권한이 있는 경우 FileEntry를 쓸 수 있습니다. 그렇지 않으면 FileEntry는 읽기 전용입니다.

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

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

"openDirectory"
사용자에게 디렉터리를 열라는 메시지를 표시하고 성공하면 DirectoryEntry를 반환합니다. 애플리케이션에 'fileSystem'의 'directory' 권한이 없는 경우 이 유형을 사용하는 호출은 런타임 오류와 함께 실패합니다. 애플리케이션에 'fileSystem'에 대한 '쓰기' 권한이 있는 경우 반환된 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

    항목

  • callback

    함수 선택사항

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

    (displayPath: string) => void

    • displayPath

      문자열

반환 값

  • Promise<string>

    Chrome 117 이상

    프로미스는 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

      Volume[] 선택사항

반환 값

  • Promise<Volume[] | undefined>

    Chrome 117 이상

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

getWritableEntry()

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

다른 항목에서 쓰기 가능한 항목을 가져옵니다. 애플리케이션에 'fileSystem'에 대한 '쓰기' 권한이 없으면 이 호출은 런타임 오류와 함께 실패합니다. 항목이 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 이상

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

isWritableEntry()

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

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

매개변수

  • entry

    항목

  • callback

    함수 선택사항

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

    (isWritable: boolean) => void

    • isWritable

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

    프로미스는 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 이상

    프로미스는 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,
)

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

매개변수