我编写了一个nodeJS + express服务器后端,它创建了报告,然后使用fs.createWriteStream写出以“,”分隔的数据,如下所示:
let writeStream = fs.createWriteStream(someFilename);
writeStream.write("header1, header2, header3");
writeStream.write("\n1, 2, 3");
writeStream.write("\n1, 2, 3");
writeStream.end();
然后我在服务器上发送文件名作为对此请求的响应 - 这样用户就可以发帖子从服务器请求这个文件 - 就像“导出到excel”功能一样。
所有这一切都运行正常 - 但是当用户下载csv文件时 - 在Windows中 - 它总是隐藏csv文件的扩展名。它作为通用公共文件下载 - 当我在资源管理器窗口中打开它时 - 它没有扩展名 - 所以我必须手动重命名然后打开它。在mac中它完美无缺。
我取消选中了“文件夹选项”中的“隐藏已知文件类型的扩展名”复选框。
如何解决此问题 - 让浏览器尊重文件的扩展名或使用扩展名下载 - 仅限在Windows上。