chrome.fileSystem

설명

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

권한

fileSystem

지원 대상

포그라운드 전용

유형

AcceptOption

속성

  • 설명

    문자열 선택사항

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

  • 확장 프로그램

    string[] 선택사항

    사용할 수 있는 확장자입니다(예: 'jpg', 'gif', 'crx').

  • mimeTypes

    string[] 선택사항

    허용할 MIME 형식입니다(예: 'image/jpeg' 또는 'audio/*'). mimeType 또는 확장 프로그램 중 하나에 하나 이상의 유효한 요소가 포함되어야 합니다.

ChooseEntryOptions

속성

  • 허용

    AcceptOption[] 선택사항

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

  • acceptsAllTypes

    부울 선택사항

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

  • acceptsMultiple

    부울 선택사항

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

  • suggestedName

    문자열 선택사항

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

  • 유형

    ChooseEntryType 선택사항

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

ChooseEntryType

열거형

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

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

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

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

RequestFileSystemOptions

Chrome 44 이상

속성

  • volumeId

    string

    요청된 볼륨의 ID입니다.

  • 쓰기 가능

    부울 선택사항

    요청된 파일 시스템의 쓰기 가능 여부입니다. 기본값은 읽기 전용입니다.

Volume

Chrome 44 이상

속성

  • volumeId

    string

  • 쓰기 가능

    boolean

VolumeListChangedEvent

Chrome 44 이상

속성

방법

chooseEntry()

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

사용자에게 파일이나 디렉터리를 선택하라고 요청합니다.

매개변수

  • 옵션

    ChooseEntryOptions 선택사항

  • 콜백

    기능

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

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

    • entry

      항목 선택사항

    • fileEntries

      FileEntry[] 선택사항

getDisplayPath()

프로미스
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)

Entry 객체의 표시 경로를 가져옵니다. 표시 경로는 로컬 파일 시스템에 있는 파일 또는 디렉토리의 전체 경로를 기반으로 하며, 표시를 위해 가독성이 더 높아지도록 할 수 있습니다.

매개변수

  • entry

    항목

  • 콜백

    함수 선택사항

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

    (displayPath: string)=>void

    • displayPath

      string

반환 값

  • 프로미스<string>

    Chrome 117 이상

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

getVolumeList()

Promise Chrome 44 이상
chrome.fileSystem.getVolumeList(
  callback?: function,
)

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

매개변수

  • 콜백

    함수 선택사항

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

    (volumes?: Volume[])=>void

    • volumes

      볼륨[] 선택사항

반환 값

  • 프로미스<볼륨[]|정의되지 않음>

    Chrome 117 이상

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

getWritableEntry()

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

다른 Entry에서 쓰기 가능한 Entry를 가져옵니다. 애플리케이션이 'fileSystem'에 '쓰기' 권한이 없으면 이 호출이 런타임 오류와 함께 실패합니다. 항목이 DirectoryEntry인 경우 애플리케이션이 'fileSystem'에 '디렉터리' 권한을 가지고 있지 않으면 이 호출이 실패합니다.

매개변수

  • entry

    항목

  • 콜백

    기능

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

    (entry: Entry)=>void

    • entry

      항목

isRestorable()

프로미스
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)

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

매개변수

  • id

    string

  • 콜백

    함수 선택사항

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

    (isRestorable: boolean)=>void

    • isRestorable

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

isWritableEntry()

프로미스
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

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

매개변수

  • entry

    항목

  • 콜백

    함수 선택사항

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

    (isWritable: boolean)=>void

    • isWritable

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

requestFileSystem()

Promise Chrome 44 이상
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)

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

매개변수

  • 콜백

    함수 선택사항

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

    (fileSystem?: FileSystem)=>void

    • fileSystem

      파일 시스템 선택사항

반환 값

  • Promise<FileSystem|undefined>

    Chrome 117 이상

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

restoreEntry()

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

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

매개변수

  • id

    string

  • 콜백

    기능

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

    (entry: Entry)=>void

    • entry

      항목

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

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

매개변수

  • entry

    항목

반환 값

  • string

이벤트

onVolumeListChanged

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

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

매개변수