let data = xxx;// 取得的数据
let fileName = xxx;// 取得的不带后缀的文件名
let link = document.createElement("a");
link.href = window.URL.createObjectURL(new Blob([data as BlobPart],{type:"application/octet-stream"}));
link.setAttribute("download",fileName);
link.click();
widow.URL.revokeObjectURL(link.href)
谷歌浏览器下载无后缀的文件时,会自动添加.txt后缀,火狐浏览器不会加。
原因是:创建URL时没有指定下载文件的类型,即:type:"application/octet-stream",指定类型的作用是告诉浏览器这是一个文件流。