您的位置:首页 > 编程语言 > C#

c#服务端接收客户端的文件上传,可以实现到断点续传

2013-07-29 16:16 465 查看
public void big_fileRequest(HttpContext context)

{

context.Response.ContentType = "text/plain";

context.Response.Charset = "utf-8";

bh = HttpContext.Current.Request["bh"].Trim();

string uploadPath = HttpContext.Current.Server.MapPath("dir");

if (!System.IO.Directory.Exists(uploadPath))

{

System.IO.Directory.CreateDirectory(uploadPath);

}

//CompilerSvr.MyFavoritesService compiler = new FDN.DMS.Controls.CompilerSvr.MyFavoritesService();

//compiler.Timeout = 2000000; //毫秒

string filename = bh + ".zip";

get_file_basestring(context);

byte[] buffer = Convert.FromBase64String(source);

FileStream fs = null;

if (tag == "0") //0开始,1续传

{

if (File.Exists(uploadPath + "/" + filename))

File.Delete(uploadPath + "/" + filename);

fs = new FileStream(uploadPath + "/" + filename, FileMode.OpenOrCreate, FileAccess.Write);

}

else

{

fs = new FileStream(uploadPath + "/" + filename, FileMode.Append, FileAccess.Write);

}

fs.Write(buffer, 0, buffer.Length);

fs.Flush();

fs.Close();

}

public void get_file_basestring(HttpContext context)

{

context.Response.ContentType = "text/plain";

context.Response.Charset = "utf-8";

System.IO.Stream inputStream = context.Request.InputStream;//这是你获得的流

byte[] buffer = new byte[inputStream.Length];

inputStream.Position = 0;

inputStream.Read(buffer, 0, buffer.Length); //将流的内容读到缓冲区

//source = HttpContext.Current.Server.UrlDecode(source);//调用本地配置编码

//source.Length = 0;

source = HttpUtility.UrlDecode(Encoding.UTF8.GetString(buffer), Encoding.UTF8);//根据需要指定编码

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐