是否可以在不进行写/读的情况下将当前表示为缓冲区的文件命名



我以"字节"的形式从Postgres数据库中获取数据(这就是它们在数据库中的存储方式(,然后使用字节解析器将其转换为Node类型的"缓冲区",我需要将其作为一个有名称的文件提供给前端,但目前它是一个无标题文件。当然,我知道我可以把这个文件写到磁盘上,从而给它一个名字,但我想不做这个操作(此外,我还必须读它——那需要很多I/O(。有可能吗?换句话说,是否可以将文件作为缓冲区并为其命名,而不需要写/读I/O?

是的,这是可能的。您可以设置content-disposition标头。请参阅MDN上的这篇文章以获得更多解释,但如果你想让用户被提示将文件保存到他们的硬盘驱动器,你可能会使用这样的东西:

Content-Disposition: attachment; filename="filename.jpg"

如果你有任何响应的例子(即使它们使用磁盘来存放实际文件(,它们在浏览器中以你想要的方式工作,那么你可以确切地查看响应的结构(使用Chrome调试器中的"网络"选项卡来查看实际的http头和内容(,然后你可以用响应模拟相应的头和响应的其他部分。

最新更新