Html5 突破微信限制实现大文件分割上传

先来前端代码





    
    大文件分割上传
    
    


    


等待
再来C#版后台代码

        public ActionResult SaveFile2()
        {
            string name = Request["name"];
            int total = Convert.ToInt32(Request["total"]);
            int index = Convert.ToInt32(Request["index"]);
            var data = Request.Files["data"];
            string dir = Server.MapPath("/UploadFile/Imgs/");
            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }
            string file = Path.Combine(dir, name + "_" + index);
            data.SaveAs(file);

            string[] files = Directory.GetFiles(dir);
            bool isMerge = true;
            for (int i = 1; i <= total; ++i)
            {
                string part = Path.Combine(dir, name + "_" + i);
                if (!files.Contains(part))
                {
                    isMerge = false;
                }
            }

            if (isMerge)
            {
                file = Path.Combine(dir, name);
                var fs = new FileStream(file, FileMode.Create);
                try {
                    for (int i = 1; i <= total; ++i)
                    {
                        string part = Path.Combine(dir, name + "_" + i);
                        var bytes = System.IO.File.ReadAllBytes(part);
                        fs.Write(bytes, 0, bytes.Length);
                        bytes = null;
                        System.IO.File.Delete(part);
                    }
                }
                finally
                {
                    fs.Close();
                }
            }
            //返回是否成功,此处做了简化处理

            return Json(new { Error = 0 });
        }



你可能感兴趣的:(Html5 突破微信限制实现大文件分割上传)