110,534
社区成员
发帖
与我相关
我的任务
分享
int rcv;
byte[] msgsize = new byte[4];
rcv = socket.Receive(msgsize, 0, 4, SocketFlags.None);
int size = BitConverter.ToInt32(msgsize, 0);
byte[] file = new byte[10000000];
int longer = file.Length;
int start = 0;
int mid = 0;
int count = socket.Receive(file, start, longer, SocketFlags.None);
mid += count;
longer -= mid;
while (count != 0)
{
count = socket.Receive(file, mid, longer, SocketFlags.None);
mid += count;
longer -= mid;
}
MemoryStream ms = new MemoryStream(file, 0, size, true);
pictureBox1.Image = Image.FromStream(ms);
ms.Close();
socket.Close();
//Byte[] result;
System.IO.MemoryStream ms =new MemoryStream(result, 0, result.Length)
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
//或者添加一个处理图片的Handler,内容如下:
<%@ WebHandler Language="C#" Class="Handler" %>
using System.Web;
using System.IO;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
int CategoryID = int.Parse(context.Request.QueryString["CategoryID"]);
//调用Categories.GetPicture取得图片stream
Stream stream = CategoriesPicture.GetPicture(CategoryID);
if (stream !=null) {
//取得图片stream大小
int buffersize = (int)stream.Length;
//建立buffer
System.Byte[] buffer = new System.Byte[buffersize ] ;
//调用stream.Read,从stream读取到buffer,并返回count
int count = stream.Read(buffer, 0, buffersize);
//返回图片字段buffer
if (count!=0)
context.Response.OutputStream.Write(buffer, 0, count);
}
}
public bool IsReusable {
get {
return false;
}
}
}