可以编写html的文件吗,我可以使用HTML5/JS编写文件吗?

这篇博客探讨了如何利用JavaScript的FileSystemAPI和FileWriter在基于Chrome的浏览器中实现文件写入。通过示例代码展示了请求存储空间、创建文件和写入数据的过程。同时,提到了文件系统的沙箱特性,以及未来可能移除相关API的风险。文章还提及了BakedGoods库作为抽象存储操作的工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

的这个问题的答案取决于你的回答以下问题:

你罚款,对这种能力支持的事实目前只存在于基于铬的浏览器(Chrome的&歌剧)?

您是否利用现在的专有API来利用这种优势?

你可以在将来删除该API的可能性吗?

在磁盘上用这个API创建的文件缩小到沙箱(文件不能产生任何效果的位置),你还好吗?

如果你回答“是”以上所有的,那么,与FileWriter和FileSystem API,您可以使用JavaScript在浏览器标签/窗口的上下文写入文件。

这里的API是如何串联使用做一个简单的例子:

function onQuotaRequestSuccess(grantedQuota)

{

function saveFile(directoryEntry)

{

function createFileWriter(fileEntry)

{

function write(fileWriter)

{

var dataBlob = new Blob(["Hello world!"], {type: "text/plain"});

fileWriter.write(dataBlob);

}

fileEntry.createWriter(write);

}

directoryEntry.getFile(

"testFile",

{create: true, exclusive: true},

createFileWriter

);

}

requestFileSystem(Window.PERSISTENT, grantedQuota, saveFile);

}

var desiredQuota = 1024 * 1024 * 1024;

var quotaManagementObj = navigator.webkitPersistentStorage;

quotaManagementObj.requestQuota(desiredQuota, onQuotaRequestSuccess);

随着BakedGoods *,即建立一个统一的接口,可用于开展公共存储操作的Javascript库所有本地(包括文件系统),以及一些非本地的仓储设施,上面用此来完成:

bakedGoods.set({

data: [{key: "testFile", value: "Hello world!", type: "text/plain"}],

storageTypes: ["fileSystem"],

options: {fileSystem:{storageType: Window.PERSISTENT}},

complete: function(byStorageTypeStoredItemRangeDataObj, byStorageTypeErrorObj){}

});

文件系统规范定义的目录结构是如何出现在磁盘上没有任何指引。例如,在基于Chromium的浏览器中,沙盒具有一个虚拟文件系统(目录结构不一定以与从浏览器内访问时相同的形式存在于磁盘上),其中创建的目录和文件与API放置。

因此,尽管您可以使用API​​将文件写入系统,但是在没有API的情况下(没有FileSystem API)定位文件可能是一件不平凡的事情。

* BakedGoods是不是别人这家伙就在这里:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值