FileSystemWritableFileStream
Baseline
2025
Newly available
Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
å®å ¨ãªã³ã³ããã¹ãç¨: ãã®æ©è½ã¯ä¸é¨ã¾ãã¯ãã¹ã¦ã®å¯¾å¿ãã¦ãããã©ã¦ã¶ã¼ã«ããã¦ãå®å ¨ãªã³ã³ããã¹ã (HTTPS) ã§ã®ã¿å©ç¨ã§ãã¾ãã
File System Access API ã® FileSystemWritableFileStream ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ã便å©ãªã¡ã½ããã追å ããã WritableStream ãªãã¸ã§ã¯ãã§ããã£ã¹ã¯ä¸ã®åä¸ã®ãã¡ã¤ã«ãæ±ãã¾ãããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«ã¯ FileSystemFileHandle.createWritable() ã¡ã½ãããéãã¦ã¢ã¯ã»ã¹ãã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ããããã£
親㮠WritableStream ããããããã£ãç¶æ¿ãã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ãã
親㮠WritableStream ããã¡ã½ãããç¶æ¿ãã¾ãã
FileSystemWritableFileStream.write-
ã¡ã½ãããå¼ã°ãããã¡ã¤ã«ã®ç¾å¨ã®ãã¡ã¤ã«ã«ã¼ã½ã«ãªãã»ããã«ãã¼ã¿ãæ¸ãè¾¼ã¿ã¾ãã
FileSystemWritableFileStream.seek-
ç¾å¨ã®ãã¡ã¤ã«ã«ã¼ã½ã«ãªãã»ãããæå®ã®ä½ç½® (ãã¤ãåä½) ã«ç§»åãã¾ãã
FileSystemWritableFileStream.truncate-
ã¹ããªã¼ã ã«å¯¾å¿ãããã¡ã¤ã«ã®ãµã¤ãºãæå®ã®ãã¤ãæ°ã«ãã¾ãã
ä¾
ãã®éåæé¢æ°ã¯ãSave Fileãããã«ã¼ãéãããã®ããã«ã¼ã¯ãã¡ã¤ã«ã鏿ããã㨠FileSystemFileHandle ãè¿ãã¾ããããã¦ãFileSystemFileHandle.createWritable() ã¡ã½ãããç¨ãã¦ããã®ãã³ãã«ããæ¸ãè¾¼ã¿å¯è½ãªã¹ããªã¼ã ã使ãã¾ãã
ãã®å¾ãã¦ã¼ã¶ã¼ãæå®ãã Blob ãã¹ããªã¼ã ã«æ¸ãè¾¼ã¿ãã¹ããªã¼ã ãéãã¾ãã
async function saveFile() {
// æ°ãããã³ãã«ã使ãã
const newHandle = await window.showSaveFilePicker();
// æ¸ãè¾¼ã¿å
ã® FileSystemWritableFileStream ã使ãã
const writableStream = await newHandle.createWritable();
// ãã¡ã¤ã«ã«æ¸ãè¾¼ã
await writableStream.write(imgBlob);
// ãã¡ã¤ã«ãéãããã¼ã¿ããã£ã¹ã¯ã«æ¸ãè¾¼ã
await writableStream.close();
}
以ä¸ã§ã¯ãwrite() ã¡ã½ããã«æ¸¡ããã¨ãã§ããç°ãªããªãã·ã§ã³ã®ä¾ã示ãã¦ãã¾ãã
// ãã¼ã¿ã ããæ¸¡ã (ãªãã·ã§ã³ãªã)
writableStream.write(data);
// ã¹ããªã¼ã ã«æå®ã®ä½ç½®ãããã¼ã¿ãæ¸ãè¾¼ã
writableStream.write({ type: "write", position, data });
// ç¾å¨ã®ãã¡ã¤ã«ã«ã¼ã½ã«ãªãã»ãããæå®ã®ä½ç½®ã«ç§»åãã
writableStream.write({ type: "seek", position });
// ãã¡ã¤ã«ã size ãã¤ãã«ãã
writableStream.write({ type: "truncate", size });
仿§æ¸
| Specification |
|---|
| File System> # api-filesystemwritablefilestream> |