1

Web サービスをバックエンドとして使用する C# ウィンドウ アプリケーションを開発しています。指定された URL から画像を取得する方法: サーバー上の画像は JPEG 形式です。

var client = new RestClient();
client.BaseUrl = "http://www.*****.com/images/12345.jpg";
var request = new RestRequest();
IRestResponse response = client.Execute(request);
4

2 に答える 2

2

RestSharpを使用して、このようにしました

var client = new RestClient();
client.BaseUrl = "http://www.abcd.com/image1.jpg";
var request = new RestRequest();
picturebox1.Image = new Bitmap(new MemoryStream(client.DownloadData(request)));

ピクチャ ボックスに画像を表示する

于 2013-09-19T08:55:17.000 に答える
1

クライアントが画像の URL を持っている場合、HTTP を使用してダウンロードしないのはなぜでしょうか? それとも、画像は常に WebService が実行されている同じサーバーに存在し、WebService メソッドは URL を受け取り、それをローカル パスに変換し、画像をバイト配列として返す必要があると言っているのですか?

ほぼ同じことを行う WSDL WebService のメソッドがあります。URL のプロトコルとホストの部分は含めません (冗長になるため)。

[WebMethod]
public byte[] GetPicture(string ImageURL)
{
    if (ImageURL.StartsWith("http"))
            return new byte[0]; 
    string tmp = System.Web.Hosting.HostingEnvironment.MapPath("/" + ImageURL);
    string FileName = Microsoft.JScript.GlobalObject.unescape(tmp);

    if (System.IO.File.Exists(FileName))
    {
        FileStream fs = System.IO.File.OpenRead(FileName);
        byte[] buf = new byte[fs.Length];
        fs.Read(buf, 0, (int)fs.Length);
        fs.Close();
        return buf;
    }
    else
        return new byte[0];
}

それはあなたの質問に答えていますか?

于 2013-08-31T10:44:32.537 に答える