2012-11-17 73 views
0

在下載在Firefox以下URL文件(Eclipse的win32的拉鍊),文件名被稱爲是eclipse-jee-juno-SR1-win32.zip從URL或HttpUrlConnection獲取下載文件名?

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR1/eclipse-jee-juno-SR1-win32.zip&url=http://download.eclipse.org/technology/epp/downloads/release/juno/SR1/eclipse-jee-juno-SR1-win32.zip&mirror_id=1 

然而,在Content-disposition頭,它是獲取服務器建議的文件名的標準方法未指定該文件的名稱。

這裏,Eclipse的下載是一個簡單的例子。我看到文件名是URL的一部分,但是有沒有其他方法來獲取文件名?我可以用正則表達式在這種情況下,URL中提取的文件名,但它不能保證每一個URL的沒有內容處理標頭的一部分。

問:如何能在沒有Content-Disposition首部存在下載的文件名被收購?或者,更加本地化,​​Firefox如何提出上述名稱?

或者Firefox是在這裏簡單地解析URL,而且我遇到過這種情況,儘管從間接的,腳本交付的下載中提取文件名,它恰好工作。

回答

1

內容處理是服務器提出一個文件名的標準方法。在沒有內容處置標題的情況下,完全由客戶端提供文件名。最常見的選擇是採取路徑的最後一部分。

在沒有內容部署頭,服務器是不是真的連說,URL應該是相當下載到的文件顯示比。只是大多數瀏覽器默認將文件保存爲文件,而無法顯示。