2011-10-13 8 views
5

URLの拡張子ファイルを取得します。ファイルの拡張子を取得する(編集)

たとえば、延長http://www.iranfairco.com/download-file/02912bb889cb24を取得します。 拡張子がこのファイルの場合はgifです。

EDIT:例えば

このURL "http://www.online-convert.com/result/d8b423c3cbc05000cc52ce7015873e72"

このURLの拡張子を取得することができますどのように私を助けてください?

+6

をしようとは思いませんここにはgifを示すものは何もありません。 URLに '.gif'が含まれておらず、httpリクエストから404が返されます。 – CodesInChaos

答えて

10

なぜPath.GetExtensionがうまくいかないのですか?

EDIT
ああ、あなたのURLはあなたが後にある拡張子を指定しないように。つまり、何かがその背後にある可能性があります。

URLの文字列値を調べるだけで、その背後にあるものはわかりません。あなたの(2番目の)サンプルポイントは最終的に.gifファイルになりますが、.jpg、.doc(または.exe)でもかまいません。

戻ってくるものを確認するには、Webリクエストを行う必要があります。通常はヘッダーを取得して(コンテンツタイプを調べる)HEADを試すことができますが、ここではうまくいかないと思います。あなたが戻ってくるものを見るためにフィドラーを試してみてください。その後、あなたはあなたの質問を洗練することができます。

+0

これはWeb URLで機能しますか? – musefan

+1

'Path.GetExtension(" http://www.someserver.com/image.gif ")'返す ".gif" –

+0

ああ、それはうまくいくだろうが、与えられた例ではないだろう...私はあなたがD – musefan

0

文字列をchar 'に分割するだけで済みます。あなたがあなたの「画像/ GIF」のようなものを与えるべきResponse.ContentTypeのに興味があるだろう

http://www.java2s.com/Code/CSharp/Network/GetHTTPResponseheaders.htm

:ここ..

+0

いいえ。このファイル名はhash.filename = 02912bb889cb24 – ashkufaraz

+0

ではありません。文字列にファイル拡張子がない場合は...どの例 – musefan

+0

例が失敗であるので、明らかにいいえ...私のせいはどうですか? – Rob

6

チェックアウト返される配列内の最後の文字列を取得gif画像

+0

これは設定されているコンテンツヘッダーによって異なります。 asp.netタグがあると、私は@Curtの答えがより正確であり、必要なことは実際にASPでコンテンツタイプを適用していると思います。 – stevenrcfox

+0

@Overflow、私は、コンテンツタイプがそのURLコールを処理するときにサーバによって設定される必要があることを知っています。私の前提は、このURLはファイルのダウンロード(URL自体で示唆されているように)を提供するために使用され、サーバーは画像のみを含むレスポンスストリームを返し、コンテンツタイプを設定している可能性が高いということです。もちろん、コンテンツタイプは間違っている可能性があり、実装に依存します。しかし、それを正しく行うには、実装が正しいコンテンツタイプを提供しなければならないので、私の答えはファイルタイプを見つけることができるでしょう。 – musefan

1

このURLは、おそらくファイルのダウンロードがあるページにリンクしているようです。

02912bb889cb24はおそらくそのファイルへのデータベース参照です。

したがって、このシステムのための任意のAPIにアクセスすることなく、私はそのこのURL経由でアクセスされるファイルのファイル拡張子を働かせて、すべての可能な

+0

私はこれを最も正確な答えと見なす傾向があります。いくつかの追加があります。1.ファイルがアップロードされると、コンテンツタイプを取得してファイルを持つデータベース。その後、ファイルがダウンロードされると、コンテンツタイプを再度設定することができます。 – stevenrcfox

4

私が見るこの

string path = @"http://www.iranfairco.com/download-file/02912bb889cb24.gif"; 
string e = Path.GetExtension(path); 
+0

URLは29493903と等しくない290930232.gif – ashkufaraz

関連する問題