2011-07-14 21 views
4


リモートURLから画像を保存しようとすると問題が発生するというasp.net C#Webサイトで作業しています。私はC#のコードの下にしようとしている
... C#asp.netを使用してリモートURLから画像を保存するには?

//


string remoteImageUrl= "http://www.bitpixels.com/getthumbnail?code=83306&url=http://live.indiatimes.com/default.cms?timesnow=1&size=200"; 
string strRealname = Path.GetFileName(remoteImageUrl); 
string exts=Path.GetExtension(remoteImageUrl); 

WebClient webClient = new WebClient(); 
webClient.DownloadFile(remoteImageUrl,Server.MapPath("~/upload/")+strRealname + exts); 


私は、remoteImageUrl
上から画像を取得するとC#のコード私はエラー "例外を取得 "

どのようにすればよいですか? hとリモートURLの画像を保存し、私のウェブサイトのアップロードディレクトリに保存します。
またはリモートURL画像を取得するその他の方法。

+0

あなたのコードはうまく動作します。あなたはExceptionでさらに詳しい情報を得ていますか? InnerExceptionはありますか? – DavidGouge

+0

@David私はリモートURLからダウンロードすると例外を超えてしまいます。 –

+0

私は実際の問題を得て、問題をどのように解決したのですか。Path.GetExtensionを使ってファイルに拡張子を追加しました。 –

答えて

1

私はremoteImageUrlパスの拡張子を取得する場合、私は...例外が延長によるくる

をその問題を解決しました。

string exts = Path.GetExtension(remoteImageUrl); 
string strRealname = Path.GetFileName(remoteImageUrl); 

例外は、その時点で投げるので、それは は私がremoteImageURLから「.cmsファイル」の拡張子を回避し、それが正常に動作します

WebClient webClient = new WebClient(); 
webClient.DownloadFile(remoteImageUrl,Server.MapPath("~/upload/")+strRealname + exts); 

を呼び出し、「.cmsファイル」を返します。

+0

"どうやって" .cms "拡張子from the remoteImageURL "? – iceDragon

1

Youtコードは問題ありません。アプリケーションプールIDが書き込みアクセス権を持つ「アップロード」フォルダにアクセスできることを確認します。

プロキシサーバーを使用している場合は、web.configファイルでもこれを指定する必要があります。

<system.net> 
    <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy> 
</system.net> 
+0

ありがとうございました@Yener、実際に私はそれを解決しました。拡張機能で問題が発生しました。拡張子を付けてファイルを保存したとき...ありがとうAbhishek –

0

完全信頼よりも下で実行していますか?そうであれば、任意のウェブリクエストを行うことはできません。

+0

ありがとう@Barnett –

関連する問題