설명
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
enum
"openFile"
기존 파일을 열라는 메시지를 사용자에게 표시하고 성공하면 FileEntry를 반환합니다. Chrome 31부터는 애플리케이션이 'fileSystem'에 '쓰기' 권한이 있는 경우 FileEntry에 쓸 수 있습니다. 그렇지 않으면 FileEntry는 읽기 전용이 됩니다.
"openWritableFile"
기존 파일을 열라는 메시지를 사용자에게 표시하고 성공 시 쓰기 가능한 FileEntry를 반환합니다. 애플리케이션에 'fileSystem' 아래 '쓰기' 권한이 없으면 이 유형을 사용하는 호출이 런타임 오류와 함께 실패합니다.
"saveFile"
기존 파일을 열거나 새 파일을 열라는 메시지를 표시하고 성공 시 쓰기 가능한 FileEntry를 반환합니다. 애플리케이션에 'fileSystem' 아래 '쓰기' 권한이 없으면 이 유형을 사용하는 호출이 런타임 오류와 함께 실패합니다.
"openDirectory"
사용자에게 디렉터리를 열라는 메시지를 표시하고 성공 시 DirectoryEntry를 반환합니다. 애플리케이션이 'fileSystem'에 'directory' 권한을 가지고 있지 않으면 이 유형을 사용하는 호출은 런타임 오류와 함께 실패합니다. 애플리케이션이 'fileSystem'에서 '쓰기' 권한을 갖고 있으면 반환된 DirectoryEntry는 쓰기가 가능하며, 그렇지 않으면 읽기 전용입니다. Chrome 31의 새로운 기능입니다.
RequestFileSystemOptions
속성
-
volumeId
문자열
요청된 볼륨의 ID입니다.
-
쓰기 가능
부울 선택사항
요청된 파일 시스템의 쓰기 가능 여부입니다. 기본값은 읽기 전용입니다.
Volume
속성
-
volumeId
문자열
-
쓰기 가능
boolean
VolumeListChangedEvent
속성
-
volumes
볼륨[]
메서드
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
)
사용자에게 파일이나 디렉터리를 선택하라고 요청합니다.
매개변수
-
옵션
ChooseEntryOptions 선택사항
-
callback
기능
callback
매개변수는 다음과 같습니다.(entry?: Entry, fileEntries?: FileEntry[]) => void
-
entry
항목 선택사항
-
fileEntries
FileEntry[] 선택사항
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
)
Entry 객체의 표시 경로를 가져옵니다. 표시 경로는 로컬 파일 시스템에 있는 파일 또는 디렉토리의 전체 경로를 기반으로 하며, 표시를 위해 가독성이 더 높아지도록 할 수 있습니다.
매개변수
-
entry
항목
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(displayPath: string) => void
-
displayPath
문자열
-
반환 값
-
프로미스<string>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
)
requestFileSystem()
에 사용 가능한 볼륨 목록을 반환합니다. "fileSystem": {"requestFileSystem"}
매니페스트 권한이 필요합니다. 키오스크 세션에서 실행되는 키오스크 앱에서만 사용할 수 있습니다. 오류가 발생하면 volumes
가 정의되지 않고 chrome.runtime.lastError
가 설정됩니다.
반환 값
-
프로미스<볼륨[] | 정의되지 않음>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
)
다른 Entry에서 쓰기 가능한 Entry를 가져옵니다. 애플리케이션이 'fileSystem'에 '쓰기' 권한이 없으면 이 호출이 런타임 오류와 함께 실패합니다. 항목이 DirectoryEntry인 경우 애플리케이션이 'fileSystem'에 '디렉터리' 권한을 가지고 있지 않으면 이 호출이 실패합니다.
매개변수
-
entry
항목
-
callback
기능
callback
매개변수는 다음과 같습니다.(entry: Entry) => void
-
entry
항목
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
)
지정된 ID로 항목을 복원할 권한이 앱에 있는지 여부를 반환합니다.
매개변수
-
id
문자열
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(isRestorable: boolean) => void
-
isRestorable
boolean
-
반환 값
-
Promise<boolean>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
)
이 항목의 쓰기 가능 여부를 가져옵니다.
매개변수
-
entry
항목
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(isWritable: boolean) => void
-
isWritable
boolean
-
반환 값
-
Promise<boolean>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
)
options.volumeId
로 표시되는 볼륨의 파일 시스템에 대한 액세스를 요청합니다. options.writable
이 true로 설정되면 파일 시스템에 쓰기가 가능합니다. 그렇지 않으면 읽기 전용이 됩니다. writable
옵션을 사용하려면 매니페스트에 "fileSystem": {"write"}
권한이 있어야 합니다. 키오스크 세션에서 실행되는 키오스크 앱에서만 사용할 수 있습니다. 수동 실행 키오스크 모드의 경우 활성 앱 창 상단에 확인 대화상자가 표시됩니다. 오류가 발생하면 fileSystem
가 정의되지 않고 chrome.runtime.lastError
가 설정됩니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(fileSystem?: FileSystem) => void
-
fileSystem
파일 시스템 선택사항
-
반환 값
-
Promise<FileSystem | undefined>
Chrome 117 이상프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
)
복원될 수 있는 경우 지정된 ID의 파일 항목을 반환합니다. 그러지 않으면 이 호출이 런타임 오류와 함께 실패합니다.
매개변수
-
id
문자열
-
callback
기능
callback
매개변수는 다음과 같습니다.(entry: Entry) => void
-
entry
항목
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
)
특정 파일 항목에 대한 액세스 권한을 다시 얻기 위해 recoveryEntry에 전달할 수 있는 ID를 반환합니다. 가장 최근에 사용된 500개의 항목만 유지되며, RetainEntry 및 복원항목 호출이 사용된 것으로 간주됩니다. 앱의 'fileSystem'에 'retainEntries' 권한이 있는 경우 항목이 무기한 보관됩니다. 그러지 않으면 앱이 실행되는 동안과 다시 시작할 때만 항목이 유지됩니다.
매개변수
-
entry
항목
반환 값
-
문자열
이벤트
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
사용 가능한 볼륨 목록이 변경될 때 호출됩니다.
매개변수
-
callback
기능
callback
매개변수는 다음과 같습니다.(event: VolumeListChangedEvent) => void
-
event
-