获取图片为二进制流,并且显示图片到网页
2013-12-10 16:16
267 查看
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadPage();
}
}
private void LoadPage()
{
string url = "http://app-server/wa/Plex/mossout/Preview.ashx?pid=52&id=5";
byte[] m_buffer = DownloadImage(url);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(m_buffer);
}
#region 获取图片的二进制流
/// <summary>
/// 获取图片的二进制流
/// </summary>
/// <returns></returns>
public static byte[] DownloadImage(string url)
{
HttpWebRequest rqs = HttpWebRequest.Create(url)
as HttpWebRequest;
rqs.Credentials = CredentialCache.DefaultCredentials;
rqs.Credentials = CredentialCache.DefaultNetworkCredentials;
rqs.Accept = "*/*";
rqs.KeepAlive = true;
rqs.Method = "GET";
rqs.ContentType = "application/x-www-form-urlencoded";
rqs.CookieContainer = null;
rqs.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)";
rqs.Timeout = 50000;
System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) =>
{ return true; };
HttpWebResponse hwResponse = rqs.GetResponse() as HttpWebResponse;
byte[] m_buffer = new byte[1024 * 1024];
Stream stream = hwResponse.GetResponseStream();
int offset = 0;
int count = 0;
do
{
count = stream.Read(m_buffer, offset, m_buffer.Length - offset);
if (count > 0)
{
offset += count;
}
} while (count > 0);
hwResponse.Close();
if (offset > 0)
{
byte[] ret = new byte[offset];
Array.Copy(m_buffer, ret, offset);
return ret;
}
else
{
return null;
}
}
#endregion
{
if (!IsPostBack)
{
LoadPage();
}
}
private void LoadPage()
{
string url = "http://app-server/wa/Plex/mossout/Preview.ashx?pid=52&id=5";
byte[] m_buffer = DownloadImage(url);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(m_buffer);
}
#region 获取图片的二进制流
/// <summary>
/// 获取图片的二进制流
/// </summary>
/// <returns></returns>
public static byte[] DownloadImage(string url)
{
HttpWebRequest rqs = HttpWebRequest.Create(url)
as HttpWebRequest;
rqs.Credentials = CredentialCache.DefaultCredentials;
rqs.Credentials = CredentialCache.DefaultNetworkCredentials;
rqs.Accept = "*/*";
rqs.KeepAlive = true;
rqs.Method = "GET";
rqs.ContentType = "application/x-www-form-urlencoded";
rqs.CookieContainer = null;
rqs.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)";
rqs.Timeout = 50000;
System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) =>
{ return true; };
HttpWebResponse hwResponse = rqs.GetResponse() as HttpWebResponse;
byte[] m_buffer = new byte[1024 * 1024];
Stream stream = hwResponse.GetResponseStream();
int offset = 0;
int count = 0;
do
{
count = stream.Read(m_buffer, offset, m_buffer.Length - offset);
if (count > 0)
{
offset += count;
}
} while (count > 0);
hwResponse.Close();
if (offset > 0)
{
byte[] ret = new byte[offset];
Array.Copy(m_buffer, ret, offset);
return ret;
}
else
{
return null;
}
}
#endregion
相关文章推荐
- 获取网页内容之后图片不显示
- 获取网页中的图片并显示出来
- js 显示base64编码的二进制流网页图片
- qt 通过http获取网络图片并且显示
- 安卓显示GIF图片,并且获取GIF图片的时间
- Android如何获取网络上的图片并且显示在ImageView上
- 从网络中获取图片显示,获取网页源码
- 获取网页内容之后图片不显示
- js 显示base64编码的二进制流网页图片
- 【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
- 从数据库获取流文件,网页显示图片的方法~~
- HTML5 之 FileReader 的使用 (网页上图片拖拽并且预显示可在这里学到) [转载]
- js 显示base64编码的二进制流网页图片
- HTML5 之 FileReader 的使用 (二) (网页上图片拖拽并且预显示可在这里学到) [转载]
- 获取网络图片并显示(并且对于在改变ui等元素必须在andoriod的主线程中)
- C# winform 获取网页的图片验证码,并显示
- C# winform 获取网页的图片验证码,并显示
- 把图片以二进制流保存到数据库并且读出来,显示
- 通过网络获取图片,最终转码出来的图片显示不全
- ImageLoader 显示图片+webView显示网页