• jQuery文件分片上传


    前端代码:
    <input type="file" id="file6" multiple>
    <button type="button" class="btnFile6">分片上传6</button>
    <div class="result"></div>
    //方式6
     $(".btnFile6").click(function () { 
         var upload = function (file, skip) {
             var formData = new FormData();//初始化一个FormData对象
             var blockSize = 1000000;//每块的大小
             var nextSize = Math.min((skip + 1) * blockSize, file.size);//读取到结束位置             
             var fileData = file.slice(skip * blockSize, nextSize);//截取 部分文件 块
             formData.append("file", fileData);//将 部分文件 塞入FormData
             formData.append("fileName", file.name);//保存文件名字
             $.ajax({
                 url: "/Home/SaveFile6",
                 type: "POST",
                 data: formData,
                 processData: false,  // 告诉jQuery不要去处理发送的数据
                 contentType: false,   // 告诉jQuery不要去设置Content-Type请求头
                 success: function (responseText) {
                     $(".result").html("已经上传了" + (skip + 1) + "块文件");
                     if (file.size <= nextSize) {//如果上传完成,则跳出继续上传
                         alert("上传完成");
                         return;
                     }
                     upload(file, ++skip);//递归调用
                 }
             });
         };
    
         var file = $("#file6")[0].files[0];
         upload(file, 0);
     }); 
    

      

    后台代码:
    public string SaveFile6()
    {
        //保存文件到根目录 App_Data + 获取文件名称和格式
        var filePath = Server.MapPath("~/App_Data/") + Request.Form["fileName"];
        //创建一个追加(FileMode.Append)方式的文件流
        using (FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write))
        {
            using (BinaryWriter bw = new BinaryWriter(fs))
            {
                //读取文件流
                BinaryReader br = new BinaryReader(Request.Files[0].InputStream);
                //将文件留转成字节数组
                byte[] bytes = br.ReadBytes((int)Request.Files[0].InputStream.Length);
                //将字节数组追加到文件
                bw.Write(bytes);
            }
        }
        return "保存成功";
    }
    

      

  • 相关阅读:
    ECMAScript 引用类型Object 对象
    jQuery Form Plugin
    在 PHP5 中使用 DOM 控制 XML
    JavaScript encodeURI()和encodeURIComponent() 函数
    程序员进阶的建议:多看、多写、多交流
    jQuery 取 css zindex 值在各种浏览器中的返回值
    XPath 语法教程(Tutorial_2)
    使用 strpos 需要注意 === 运算符
    关于代码开发规范和原则
    PHP 编写大型网站问题集
  • 原文地址:https://www.cnblogs.com/fjzhang/p/7227401.html
Copyright © 2020-2023  润新知