我想獲取url的擴展名文件。獲取文件的擴展名(編輯)
例如獲得擴展名http://www.iranfairco.com/download-file/02912bb889cb24。 如果擴展名這個文件是gif。
編輯:
比如這個網址"http://www.online-convert.com/result/d8b423c3cbc05000cc52ce7015873e72"
請幫助我如何能得到這個網址的延伸?
我想獲取url的擴展名文件。獲取文件的擴展名(編輯)
例如獲得擴展名http://www.iranfairco.com/download-file/02912bb889cb24。 如果擴展名這個文件是gif。
編輯:
比如這個網址"http://www.online-convert.com/result/d8b423c3cbc05000cc52ce7015873e72"
請幫助我如何能得到這個網址的延伸?
爲什麼Path.GetExtension不適合你?
編輯
啊,所以你的網址沒有指定你的擴展名。這意味着任何東西都可能在它後面。
只需檢查url的字符串值,就看不到它後面會有什麼。您的(第二個)示例指向(最終)一個.gif文件,但它也可能是.jpg,.doc(甚至是.exe)。
您將需要做一個webrequest,看看你回來。通常你可以嘗試一個HEAD來獲取標題(並檢查內容類型),但我認爲這不會起作用。試試Fiddler看看你回來了什麼,然後你可以改進你的問題。
你可以將字符串分割爲char'。'並獲得了最後一個字符串返回數組中..
no.this url文件名是hash.filename = 02912bb889cb24 – ashkufaraz
如果字符串中沒有文件擴展名,那麼這個例子不是。不是 – musefan
不明顯,因爲這個例子是一個失敗......這是怎麼回事? – Rob
檢查出在這裏:
http://www.java2s.com/Code/CSharp/Network/GetHTTPResponseheaders.htm
你會有興趣這應該給你一些像「圖像/ GIF」了的response.ContentType gif圖片
這取決於設置的內容頭。鑑於asp.net標籤,我會想象@Curt的答案是更正確的,而且需要的是實際在asp中應用內容類型。 – stevenrcfox
@Overflow,我知道它需要服務器在處理該URL調用時需要設置內容類型。我的假設是,該URL用於提供文件下載(如URL本身所建議的),並且很可能服務器將返回僅包含圖像的響應流,並因此設置了內容類型。當然,內容類型可能是錯誤的,這取決於實現。但要做到這一點,實施應提供正確的內容類型,因此我的答案將能夠找出文件類型 – musefan
此URL似乎可能鏈接到將爲文件下載的頁面。
02912bb889cb24
可能是該文件的數據庫引用。
因此沒有獲得任何API爲這個系統,我不認爲它可以在所有制定出通過該URL訪問的文件的擴展名
我傾向於認爲這是最準確的答案,有幾個補充,1.當文件上傳時,您應該能夠獲得內容類型並將其保存到數據庫與文件。然後下載文件時,您應該能夠再次設置內容類型。 – stevenrcfox
試試這個
string path = @"http://www.iranfairco.com/download-file/02912bb889cb24.gif";
string e = Path.GetExtension(path);
url等於29493903並不等於290930232.gif – ashkufaraz
我見這裏沒有任何表示gif的東西。 url不包含'.gif',http請求返回404。 – CodesInChaos