我有要写入文件的数据,并打开文件对话框供用户选择保存文件的位置.如果它适用于所有浏览器会很棒,但它必须在Chrome中运行.我想在客户端做到这一点.
基本上我想知道在这个函数中放什么:
saveFile: function(data)
{
}
Run Code Online (Sandbox Code Playgroud)
在函数接收数据的情况下,用户是否选择保存文件的位置,并使用该数据在该位置创建文件.
使用HTML也很好,如果有帮助的话.
在 Javascript 中,我正在创建许多 Blob,我想提示用户将它们另存为文件。目前,我正在使用 来执行此操作URL.createObjectURL,将 URL 放入链接中,并模拟对该链接的单击。(当然,我调用URL.revokeObjectURL来释放 URL,以便在用户保存 Blob 后可以将其丢弃。)我有一个循环运行,并对我希望用户保存的每个 Blob 执行此操作。
至少在 Firefox 上,触发链接是一个异步操作;在用户选择保存文件的位置之前,我调用click()并生成其余 blob 的循环立即继续执行。
这会带来一些问题,因为每个斑点可能有点大,而且可能有很多。我可以很容易地预见到一种情况,即没有足够的内存来将它们全部保存在内存中等待用户将它们一一保存和释放。因此,我想生成一个 blob,让用户下载它,然后在保存文件后(因此有资格被垃圾收集器丢弃),继续生成下一个 blob 并让用户保存它。
有没有什么方法可以实现这一点,而不需要用户手动单击另一个按钮或类似的东西来向页面发出他已完成保存文件的信号?