强制通过window.location下载时,如何在JavaScript中设置Blob文件的名称?
function newFile(data) {
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "octet/stream"});
var url = window.URL.createObjectURL(blob);
window.location.assign(url);
}
运行上面的代码即可立即下载文件,而无需刷新页面,如下所示:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
我想将文件名设置为 my-download.json 。
我知道的唯一方法是FileSaver.js使用的技巧:
<a>
标签。href
属性设置为Blob的URL。download
属性设置为文件名。<a>
标签。这是一个简化的示例(jsfiddle):
var saveData = (function () {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
return function (data, fileName) {
var json = JSON.stringify(data),
blob = new Blob([json], {type: "octet/stream"}),
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
};
}());
var data = { x: 42, s: "hello, world", d: new Date() },
fileName = "my-download.json";
saveData(data, fileName);
我写这个例子只是为了说明这个想法,在生产代码中使用FileSaver.js代替。
笔记
如何在typescript中设置blob的文件名?对于IE,我可以轻松设置文件名,但对于Chrome来说,这似乎是不可能的。基本上,我需要类似于此解决方案的东西,但需要typescript 此函数从html UI/angular 2调用:
我需要编译一个C项目,它将使用项目中的外部库和头来进行线性规划。它包含两个部分。cpp文件。主要文件,主要农民,取决于pm。H PM. h具有主农场主调用COIN-OR函数所需的所有包含行。这是pm. h的代码: 我有一个由我的老师提供的makefile,并根据自己的需要进行了修改,但每当我试图通过运行makefile来编译项目时,我都会遇到相同的错误: 在文件包含从main-farmer.cpp
问题内容: 大家好,我需要在linux中执行此操作: 给出:文件名“ foo.txt” 查找:所有符号链接到“ foo.txt”的文件 怎么做?谢谢! 问题答案: 这取决于是否要查找指向特定文件的链接,那么这是唯一的好方法: 另一方面,如果您只是想查找指向恰好名为的 任何 文件的链接,则类似 要么
正如您在本教程中看到的那样,http://www.vogella.com/tutorials/JavaPersistenceAPI/article.html 当您声明像 Person 这样的实体时,您必须将其添加到持久性中.xml喜欢
问题内容: 我们是否有理由在链接属性中包含/ 协议? 最好不做任何处理: 问题答案: 包含“ http:”或“ https:”部分只是一个传统问题,一部分是实际指定协议的问题。如果默认,则使用当前页面的协议。例如,///根据引用页面的URL变为http://www.example.com或https://www.example.com。如果网页保存在本地磁盘上然后从那里打开,则该网页没有协议(只是
问题内容: 在Unix中,可以通过以下方式创建匿名文件的句柄,例如,使用creat()创建和打开该文件,然后使用unlink()删除目录链接- 剩下一个带有inode和存储的文件,但是没有办法重新打开它。这些文件通常用作临时文件(通常这是tmpfile()返回给您的)。 我的问题:有什么办法可以将这样的文件重新附加到目录结构中?如果可以这样做,则意味着您可以例如执行文件写入操作,以使文件看起来原子