日期:2014-05-17  浏览次数:20537 次

C# 如何将图片读到内存在显示
string str = "C:/Inetpub/wwwroot/pagerror.gif";
FileStream fs = new FileStream(str , FileMode.Open, FileAccess.Read);
byte[] image = new byte[fs.Length];
fs.Read(image, 0, Convert.ToInt32(fs.Length));
fs.Close();
fs.Dispose();
Response.ClearContent();
Response.BinaryWrite(image);
Response.End();
我用上面的方法是可以正确地把硬盘上的图片读到内存中并显示出来,但是如果图片是网站上的图片就不知道怎么显示了,比如
string str = "http://www.scottwilson.com.hk/images/1.jpg";,程序运行后会出错。

其中str是从数据库读出来的,可能是硬盘上的图片,也可能是网站上的图片

请高手指教


------解决方案--------------------
protected void Page_Load(object sender, EventArgs e)
{
string sRmFile = "http://zi.csdn.net/1000huawei.gif";
string sSavePath = "c:\1000huawei.gif";
System.Net.WebClient wc = new System.Net.WebClient();
try
{
wc.DownloadFile(sRmFile, sSavePath);
Response.Write("远程文件已经下载完毕!");
}
catch (System.Exception ex)
{
Response.Write("error:" + ex.Message.ToString());
}
}

文章出处:http://www.diybl.com/course/4_webprogram/asp.net/netjs/2007112/81969.html
------解决方案--------------------
System.Net.WebClient _Client = new System.Net.WebClient();
byte[] _ImageBytes = _Client.DownloadData(p_ImagePath);

把_ImageBytes输出了就好了 

Response.ClearContent(); 
Response.BinaryWrite(_ImageBytes); 
Response.End(); 

------解决方案--------------------
那就加上http://啊