Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 使用angular 2重命名保存到文件系统的文件_File_Angular_Typescript_Blob - Fatal编程技术网

File 使用angular 2重命名保存到文件系统的文件

File 使用angular 2重命名保存到文件系统的文件,file,angular,typescript,blob,File,Angular,Typescript,Blob,我想将从服务器下载的blob保存到文件系统中,因此我使用 window.open( window.URL.createObjectURL(myBlob)); 为了拯救它。但当我这样做时,保存的文件会得到一个完全混乱的随机名称。 有没有办法给保存的文件起我自己的名字 编辑: 服务器端如下所示(Spring数据REST控制器): 我自己也在寻找类似的答案,并找到了几种保存下载文件的方法 在您的情况下,您可以使用的下载属性。例如,可以在单击按钮时动态添加此元素,并以编程方式执行单击事件 var

我想将从服务器下载的blob保存到文件系统中,因此我使用

window.open( window.URL.createObjectURL(myBlob));
为了拯救它。但当我这样做时,保存的文件会得到一个完全混乱的随机名称。
有没有办法给保存的文件起我自己的名字

编辑: 服务器端如下所示(Spring数据REST控制器):


我自己也在寻找类似的答案,并找到了几种保存下载文件的方法

在您的情况下,您可以使用
下载属性。例如,可以在单击按钮时动态添加此元素,并以编程方式执行单击事件

 var a = document.createElement("a"),
     fileURL = URL.createObjectURL(blob);
 a.style = "display:none";
 a.href = fileURL;
 a.download = fileName;
 window.document.body.appendChild(a);
 a.click();
 window.document.body.removeChild(a);
 URL.revokeObjectURL(fileURL);
下载
属性仅具有最近的支持:

对于旧版本的IE,请使用

if (typeof window.navigator.msSaveBlob !== 'undefined') {
    window.navigator.msSaveOrOpenBlob(blob, fileName);
}

您是否在服务器端的响应头中设置文件名?这是什么意思?使用window.open()时如何设置这些设置?抱歉,我假设您也控制了服务器端。事实上,我更新了我的问题,我会尝试一下。没有运气,没有任何事情发生,没有错误消息,也没有下载提示
if (typeof window.navigator.msSaveBlob !== 'undefined') {
    window.navigator.msSaveOrOpenBlob(blob, fileName);
}