Chrome如何确定磁盘上已下载文件的名称?

时间:2019-04-22 20:46:01

标签: google-chrome http-headers

Chrome在下载文件时如何确定要保存到磁盘的文件的名称?

每当我(以开发人员的身份)从正在工作的特定网站下载文件时,Chrome都会在文件扩展名的末尾添加下划线。 (请参阅:Chrome on Windows adding trailing underscores to downloaded files?)。我一直在使用各种content-type和content-disposition标头,Chrome似乎忽略了Content-Disposition标头中指定的文件名。例如,如果我请求下载文件,并且响应返回以下标头(以及其他标头):

Content-Disposition: attachment;filename="example.pdf"
Content-Type: application/pdf

...保存到磁盘的文件名仍然是原始文件名。在此示例中,原始文件名为test.pdf,而不是将其另存为example.pdf(如Content-Disposition中所指定),而是将其另存为test.pdf到磁盘。这似乎适用于任何类型的文件类型-甚至像.txt文件一样简单的文件类型。似乎没有其他HTTP响应标头指示文件名。

Chrome可以确定要保存到磁盘的文件的名称吗?如果是这样,是否有可能覆盖此行为?

我了解到Chrome将重命名它认为有安全风险的某些下载文件(例如:将.lnk重命名为.download),但是即使在这种情况下,它仍然会忽略我的Content-Disposition标头中的安全文件类型。

0 个答案:

没有答案