설명
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
속성
-
volumeId
문자열
요청된 볼륨의 ID입니다.
-
쓰기 가능
불리언 선택사항
요청된 파일 시스템이 쓰기 가능해야 하는지 여부입니다. 기본값은 읽기 전용입니다.
Volume
속성
-
volumeId
문자열
-
쓰기 가능
부울
VolumeListChangedEvent
속성
-
volumes
볼륨[]
메서드
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
사용자에게 파일 또는 디렉터리를 선택하도록 요청합니다.
매개변수
-
옵션
ChooseEntryOptions 선택사항
-
callback
함수
callback매개변수는 다음과 같습니다.(entry?: Entry, fileEntries?: FileEntry[]) => void
-
entry
항목(선택사항)
-
fileEntries
FileEntry[] 선택사항
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
항목 객체의 표시 경로를 가져옵니다. 표시 경로는 로컬 파일 시스템에 있는 파일 또는 디렉터리의 전체 경로를 기반으로 하지만 표시 목적으로 더 읽기 쉽게 만들 수 있습니다.
매개변수
-
entry
항목
-
callback
함수 선택사항
callback매개변수는 다음과 같습니다.(displayPath: string) => void
-
displayPath
문자열
-
반환 값
-
Promise<string>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
requestFileSystem()에 사용할 수 있는 볼륨 목록을 반환합니다. "fileSystem": {"requestFileSystem"} 매니페스트 권한이 필요합니다. 키오스크 세션에서 실행되는 키오스크 앱에서만 사용할 수 있습니다. 오류가 발생하면 volumes가 정의되지 않고 chrome.runtime.lastError가 설정됩니다.
반환 값
-
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()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
앱에 지정된 ID로 항목을 복원할 권한이 있는지 여부를 반환합니다.
매개변수
-
id
문자열
-
callback
함수 선택사항
callback매개변수는 다음과 같습니다.(isRestorable: boolean) => void
-
isRestorable
부울
-
반환 값
-
Promise<boolean>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
이 항목이 쓰기 가능한지 여부를 가져옵니다.
매개변수
-
entry
항목
-
callback
함수 선택사항
callback매개변수는 다음과 같습니다.(isWritable: boolean) => void
-
isWritable
부울
-
반환 값
-
Promise<boolean>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
requestFileSystem()
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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
사용 가능한 볼륨 목록이 변경될 때 호출됩니다.
매개변수
-
callback
함수
callback매개변수는 다음과 같습니다.(event: VolumeListChangedEvent) => void