我正在使用 Google Chrome 16 中的 FileSystem API,但不能多次写入 blob(无需重新打开文件进行附加)。似乎文件在第一次写入后关闭。
例如:
var blob = new WebKitBlobBuilder();
blob.append('one');
fileWriter.write(blob.getBlob('text/plain'));
var blob2 = new WebKitBlobBuilder();
blob2.append('two');
fileWriter.write(blob2.getBlob('text/plain'));
给出一个_Uncaught Error: INVALID_STATE_ERR: DOM File Exception 7_
W3 文档说 FileWriter :“此接口(interface)扩展了 FileSaver 接口(interface)以允许多个写入操作,而不仅仅是保存单个 Blob。”
最佳答案
根据规范,你不能在写入器忙于写入时使用:
write
- If
readyState
isWRITING
, throw aFileException
with error codeINVALID_STATE_ERR
and terminate this overall series of steps.
由于编写器是异步的,您必须等待使用回调:
// write first blob
fileWriter.onwriteend = function() {
// write second blob
};
关于javascript - Google Chrome 的文件系统 API 是否允许多个 blob 的写入操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167280/