설명
chrome.fileSystem
API를 사용하여 사용자의 로컬 파일 시스템을 만들고, 읽고, 탐색하고, 작성합니다. 이 API를 사용하여 Chrome 앱은 사용자가 선택한 위치를 읽고 쓸 수 있습니다. 예를 들어 텍스트 편집기 앱은 API를 사용하여 로컬 문서를 읽고 쓸 수 있습니다. 모든 실패는 chrome.runtime.lastError를 통해 알림을 받습니다.
권한
fileSystem
가용성
유형
AcceptOption
속성
-
설명
문자열(선택사항)
이 옵션에 대한 텍스트 설명(선택사항)입니다. 없는 경우 설명이 자동으로 생성됩니다. 일반적으로 유효한 확장자의 확장된 목록을 포함합니다 (예: 'text/html'은 '*.html, *.htm'으로 확장될 수 있음).
-
확장 프로그램
string[] 선택사항
허용할 확장 프로그램(예: 'jpg', 'gif', 'crx'입니다.
-
mimeTypes
string[] 선택사항
허용할 Mime 유형. 예: '이미지/jpeg' 또는 'audio/*'로 지정합니다. mimeType 또는 확장자 중 하나에 유효한 요소가 하나 이상 있어야 합니다.
ChooseEntryOptions
속성
-
수락
AcceptOption[] 선택사항
이 파일 오프너 수락 옵션의 목록(선택사항)입니다. 각 옵션은 최종 사용자에게 고유한 그룹으로 표시됩니다.
-
acceptsAllTypes
불리언 선택사항
Accept 인수에 지정된 옵션 외에 모든 파일 형식을 허용할지 여부입니다. 기본값은 true입니다. '수락' 필드가 설정되지 않았거나 유효한 항목이 없으면 항상 'true'로 재설정됩니다.
-
acceptsMultiple
불리언 선택사항
여러 파일을 허용할지 여부입니다. openFile 및 openWritableFile에만 지원됩니다. true로 설정된 경우 ChooseEntry 콜백이 항목 목록과 함께 호출됩니다. 그렇지 않으면 단일 항목으로 호출됩니다.
-
suggestedName
문자열(선택사항)
사용자에게 읽거나 쓸 수 있는 기본 이름으로 표시될 추천 파일 이름입니다. 이는 선택사항입니다.
-
유형
ChooseEntryType 선택사항
표시할 프롬프트의 유형을 입력합니다. 기본값은 'openFile'입니다.
ChooseEntryType
열거형
"openFile"
사용자에게 기존 파일을 열라는 메시지를 표시하고 성공 시 FileEntry를 반환합니다. Chrome 31부터 애플리케이션에 'write'가 있는 경우 FileEntry에 쓰기가 가능합니다. 권한을 부여할 수 있습니다. 그렇지 않으면 FileEntry는 읽기 전용이 됩니다.
"openWritableFile"
사용자에게 기존 파일을 열라는 메시지를 표시하고 성공 시 쓰기 가능한 FileEntry를 반환합니다. 애플리케이션에 '쓰기'가 없으면 이 유형을 사용하는 호출은 런타임 오류와 함께 실패합니다. 권한을 부여할 수 있습니다.
"saveFile"
사용자에게 기존 파일이나 새 파일을 열라는 메시지를 표시하고 성공 시 쓰기 가능한 FileEntry를 반환합니다. 애플리케이션에 '쓰기'가 없으면 이 유형을 사용하는 호출은 런타임 오류와 함께 실패합니다. 권한을 부여할 수 있습니다.
"openDirectory"
사용자에게 디렉터리를 열라는 메시지를 표시하고 성공 시 DirectoryEntry를 반환합니다. 애플리케이션에 '디렉터리'가 없는 경우 이 유형을 사용하는 호출은 런타임 오류와 함께 실패합니다. 권한을 부여할 수 있습니다. 애플리케이션에 '쓰기' 권한이 없으면 반환된 DirectoryEntry에 쓰기가 가능합니다. 그렇지 않으면 읽기 전용입니다. Chrome 31의 새로운 기능
RequestFileSystemOptions
속성
-
volumeId
문자열
요청된 볼륨의 ID입니다.
-
쓰기 가능
불리언 선택사항
요청된 파일 시스템의 쓰기 가능 여부입니다. 기본값은 읽기 전용입니다.
Volume
속성
-
volumeId
문자열
-
쓰기 가능
부울
VolumeListChangedEvent
속성
-
volumes
볼륨[]
메서드
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>
Chrome 117 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
)
requestFileSystem()
에 사용할 수 있는 볼륨 목록을 반환합니다. "fileSystem": {"requestFileSystem"}
매니페스트 권한이 필요합니다. 키오스크 세션에서 실행되는 키오스크 앱에서만 사용할 수 있습니다. 오류가 발생하면 volumes
가 정의되지 않고 chrome.runtime.lastError
가 설정됩니다.
반환 값
-
Promise<Volume[] | 정의되지 않음>
Chrome 117 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
)
다른 Entry에서 쓰기 가능한 Entry를 가져옵니다. 애플리케이션에 '쓰기'가 없으면 이 호출은 런타임 오류와 함께 실패합니다. 권한을 부여할 수 있습니다. 항목이 DirectoryEntry인 경우 애플리케이션에 'directory'가 없으면 이 호출이 실패합니다. 권한을 부여할 수 있습니다.
매개변수
-
entry
항목
-
콜백
함수
callback
매개변수는 다음과 같습니다.(entry: Entry) => void
-
entry
항목
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
)
지정된 ID의 항목을 복원할 권한이 앱에 있는지 여부를 반환합니다.
매개변수
-
id
문자열
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(isRestorable: boolean) => void
-
isRestorable
부울
-
반환 값
-
Promise<boolean>
Chrome 117 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
)
이 Entry의 쓰기 가능 여부를 가져옵니다.
매개변수
-
entry
항목
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(isWritable: boolean) => void
-
isWritable
부울
-
반환 값
-
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
매개변수는 다음과 같습니다.(fileSystem?: FileSystem) => void
-
fileSystem
파일 시스템 선택사항
-
반환 값
-
Promise<FileSystem | 정의되지 않음>
Chrome 117 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
)
지정된 ID가 있는 파일 항목을 복원할 수 있는 경우 해당 항목을 반환합니다. 그렇지 않으면 런타임 오류와 함께 호출이 실패합니다.
매개변수
-
id
문자열
-
콜백
함수
callback
매개변수는 다음과 같습니다.(entry: Entry) => void
-
entry
항목
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
)
지정된 파일 항목에 다시 액세스하기 위해 restoreEntry에 전달할 수 있는 ID를 반환합니다. 가장 최근에 사용된 500개의 항목만 유지되고 archive 및 restoreEntry 호출이 사용으로 집계되는 경우입니다. 앱에 'retainEntries'가 있는 경우 권한이 없으면 항목은 무기한 보관됩니다. 그 외의 경우 항목은 앱이 실행되는 동안과 다시 시작되는 동안에만 유지됩니다.
매개변수
-
entry
항목
반환 값
-
문자열
이벤트
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
사용 가능한 볼륨 목록이 변경되면 호출됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(event: VolumeListChangedEvent) => void
-
event
-