I followed this example:
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'}));
});
});
});
});
to overwrite some existing file file1.txt
and file2.txt
.
But I found a problem: if the files are not empty, their content won't be fully overwritten, only the beginning part will be overwritten.
Do I need to remove the files first? Or do I miss something?
Overwriting a File, Part 1 To edit the settings for a file, locate the file you wish to overwrite and hover over the file name. Click the chevron button that appears to the right of the file name and select Overwrite File from the menu.
Right-click the file and select Manage versions. Click Upload new version and select a file from your computer. When the new version is done uploading, click Close.
Go to the add-on menu inside the Google Spreadsheet, choose Save Emails > Create Rule and check the option that says “Overwrite attachments”.
It looks like write
only overwrites the contents of the file at the specified position, so you are correct that if you want to completely replace the text of the file, you'd need to either remove the files first or truncate them.
This code worked for me, by truncating the file to the position of the writer after the write is finished.
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'}));
});
});
});
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With