gpt4 book ai didi

javascript - 如何覆盖 Chrome 应用程序中的文件?

转载 作者:数据小太阳 更新时间:2023-10-29 05:26:02 28 4
gpt4 key购买 nike

我按照这个例子:

chrome.fileSystem.chooseEntry({type:'openDirectory'}, function(entry) {
chrome.fileSystem.getWritableEntry(entry, function(entry) {
entry.getFile('file1.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.write(new Blob(['Lorem'], {type: 'text/plain'}));
});
});
entry.getFile('file2.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.write(new Blob(['Ipsum'], {type: 'text/plain'}));
});
});
});
});

覆盖一些现有文件 file1.txtfile2.txt

但是我发现一个问题:如果文件不为空,则不会完全覆盖其内容,只会覆盖开头部分。

我需要先删除文件吗?还是我错过了什么?

最佳答案

看起来 write 只覆盖指定 position 处的文件内容, 所以你是正确的,如果你想完全替换文件的文本,你需要先删除文件或 chop 它们。

这段代码对我有用,在写入完成后将文件 chop 到作者的位置。

chrome.fileSystem.chooseEntry({type:'openDirectory'}, function(entry) {
chrome.fileSystem.getWritableEntry(entry, function(entry) {
entry.getFile('file1.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.onwriteend = function(e) {
e.currentTarget.truncate(e.currentTarget.position);
};
writer.write(new Blob(['Lorem'], {type: 'text/plain'}));
});
});
entry.getFile('file2.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.onwriteend = function(e) {
e.currentTarget.truncate(e.currentTarget.position);
};
writer.write(new Blob(['Ipsum'], {type: 'text/plain'}));
});
});
});
});

关于javascript - 如何覆盖 Chrome 应用程序中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28710804/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com