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

   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);//根据需要指定编码


    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值