2010-01-19 82 views

回答

2

這是瀏覽器的默認文件命名即將開始。瀏覽器不知道format參數的含義。它只是看到被訪問的資源被稱爲「用戶」,所以它默認使用該文件名。

在前面的例子中,被請求的資源被稱爲users.csv,因此它使用它作爲默認文件名。

您可能還想查看Content-Disposition HTTP標頭。這將導致瀏覽器提示用戶使用指定的文件名作爲默認值保存文件(用戶可以自由修改),而不是在瀏覽器中顯示文件。因此,你可以有你的資源是http://localhost:3000/users?format=csv,但是默認的文件名與此頭foo.csv:

Content-disposition: attachment; filename=foo.csv 

退房this Microsoft link一些更多的信息。這個概念對於任何HTTP技術來說都是一樣的。

0

Content-Disposition響應標題設置爲attachment; filename=users.csv

0

您可以發送Content-disposition標頭,其中包含filename參數以向用戶建議默認文件名。例如,Content-dispostion: attachment; filename=users.csv

默認情況下,瀏覽器通常使用URL路徑部分的最後一個組件(查詢之前的部分,以?開頭)作爲文件名。某些瀏覽器(如Safari)如果不相信當前擴展名與MIME類型相匹配,也會添加基於MIME類型的擴展名,並且他們知道要使用哪種擴展名。

0

這是默認的MSIE行爲。它忽略Content-Disposition標題的filename參數(如果您自己設置了任何參數)。如果你想讓它在瀏覽器中工作,你真的需要將完整的文件名追加爲URL的pathinfo。所有其他瀏覽器按預期尊重Content-Disposition標題。