2013-08-31 30 views
0

IM開發,它使用Web服務作爲它的後端, 如何從指定的URL獲得圖像的C#窗口應用程序: 服務器上的圖像是JPEG格式從Web服務獲得的圖像和顯示上的WinForms

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

嘗試http://stackoverflow.com/a/1110356/1755374 –

回答

1

使用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))); 

顯示圖片的圖片框

1

如果客戶端有圖片網址,爲什麼不直接使用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]; 
} 

是否回答你的問題?

相關問題