1

私の目標は、ashx Url から jpg ファイルを読み取ることです。私は Windows Phone 8 でこれを行いたいと思っていますが、.Net 4.5 から始めています。

URL の例: http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=239959&type=card

IE 10 でこの URL にアクセスすると、画像が表示されます。.Net 4.5 でイメージをダウンロードするにはどうすればよいですか? 私は使用してみました:

HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("image/jpg"));
string resourceAddress = "http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=239959&type=card";
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, resourceAddress);

HttpResponseMessage response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseContentRead);

byte[] responseBytes = await response.Content.ReadAsByteArrayAsync();

また、WebClientを使用する

string url = @"http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=220041&type=card";
byte[] imageData;
using (WebClient client = new WebClient())
{                
    imageData = client.DownloadData(new Uri(url));
}

これらのメソッドはどちらもデータを返しません。データを取得してjpgにフォーマットするにはどうすればよいですか? 私はashxファイルの使用にかなり慣れていません。Asp.Net Web サイトで簡単に使用できるようですが、ファイルを簡単にダウンロードできるものは見つかりませんでした。目標は、jpg ファイルをダウンロードして、Windows Phone 8 アプリケーションで表示することです。

4

1 に答える 1

0

そのURLを見てください。& を URL エンコードしたので、実際には何も返されません。

http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=220041&type=card

これ

http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=220041&type=card

ただし、最初のコード サンプルを使用して Windows 8 で問題なく動作しました。

ちなみに、画像/jpg の Accept ヘッダーを設定しているようですが、ASHX はコンテンツ タイプを画像/jpeg に設定しているようですが、動作します。

于 2012-11-09T05:13:21.653 に答える