您的位置:首页 > 其它

将图片二进制流上传到服务器

2016-11-12 22:43 155 查看
代码...

public static byte[] getImage(string imageUrl, string picType, int HttpTimeOut)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
try
{
Uri uri = new Uri(imageUrl);
byte[] buffer = new byte[1 * 1000 * 1024];
request = (HttpWebRequest)WebRequest.Create(uri);
request.Timeout = HttpTimeOut;
request.Method = "GET";
request.ContentType = "image/" + picType;
request.KeepAlive = true;
request.AllowAutoRedirect = true;
response = (HttpWebResponse)request.GetResponse();
using (Stream stream = response.GetResponseStream())
{
using (MemoryStream ms = new MemoryStream())
{
buffer = new Byte[1024];
int current = 0;
while ((current = stream.Read(buffer, 0, buffer.Length)) != 0)
{
ms.Write(buffer, 0, current);
}
return ms.ToArray();
}
}
/******************************下面这种方式下载图片不完全*********************************/
//using (Stream receiveStream = response.GetResponseStream()) // 网络stream, 不可获取长度
//{
//    //BinaryReader reader = new BinaryReader(receiveStream);
//    bytesRead = receiveStream.Read(buffer, 0, buffer.Length);
//}
//bytesProcessed += bytesRead;
//byte[] bytes = new byte[bytesProcessed];
//Buffer.BlockCopy(buffer, 0, bytes, 0, bytesProcessed);
//return bytes;

}
catch
{
return new byte[0];

}
finally
{
if (response != null) //如果服务器未响应,那么继续等待相应
{
response.Close();
response = null;
}
if (request == null)
{
request = null;
}
}
}


View Code

感谢我的搭档:lq筒靴...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: