• jQuery Ajax上传文件


    function UploadFileExcel() {
                    var file = $("#file_upload")[0].files[0];
                    var form = new FormData();
                    form.append("file", file);
                    form.append("uid", uid);
                    form.append("token", token);
                    $.ajax({
                        url: eshopUrl + "/index.php/Adminpc/V1/Ms/MsCard/inPool",
                        type: "POST",
                        contentType: "multipart/form-data",
                        data: form,
                        async: false, //异步
                        processData: false, //很重要,告诉jquery不要对form进行处理
                        contentType: false, //很重要,指定为false才能形成正确的Content-Type
                        success: function(res) {
                            if(res.result == 1) {
                        
                            } else {
                               
                            }
                        },
                        error: function() {
                            AlertMsg("连接网络错误,请稍后再试");
                        }
                    });
                    $('#file_upload').replaceWith('<input class="up-file-input" id="file_upload" type="file" onchange="UploadFileExcel();" onchange="UploadFileExcel();" accept=".xlsx,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>');
                }

    分片上传文件

    var file = $("#file")[0].files[0], //文件对象
                            name = file.name, //文件名
                            size = file.size, //总大小
                            succeed = 0,
                            i = 0;
    
                        var shardSize = 2 * 1024 * 1024, //以2MB为一个分片
    
                            shardCount = Math.ceil(size / shardSize); //总片数
                        for(; i < shardCount; i++) { //计算每一片的起始与结束位置
                            var start = i * shardSize,
    
                                end = Math.min(size, start + shardSize);
    
                            //构造一个表单,FormData是HTML5新增的
    
                            var form = new FormData();
    
                            form.append("file", file.slice(start, end)); //slice方法用于切出文件的一部分
                            form.append("name", name);
                            form.append("total", shardCount); //总片数
                            form.append("index", i + 1); //当前是第几片       
                            form.append("md5", md5); //当前是第几片      
    
                            //Ajax提交
    
                            $.ajax({
                                url: eshopUrl + "/index.php/Adminpc/V1/Setting/Version/uploadFile",
                                type: "POST",
                                contentType: "multipart/form-data",
                                data: form,
                                async: false, //异步
                                processData: false, //很重要,告诉jquery不要对form进行处理
                                contentType: false, //很重要,指定为false才能形成正确的Content-Type
                                success: function(res) {
                                    succeed++;
                                    $("#output").text(succeed + " / " + shardCount);
                                    if(succeed == shardCount) {
                                        document.getElementById("path").value = res.data;
                                    }
                                }
                            });
    
                        }
                        $(".loading").hide();
  • 相关阅读:
    实现Runnable接口和继承Thread类的区别
    图的DFS和BFS
    图建模
    数据结构-图的基本知识和表示
    除自身以外的乘积数组(力扣第238题)
    MapReduce源码分析--Shuffle阶段
    转到博客园
    vue中使用剪切板插件 clipboard.js
    vue中使用vue-qrcode生成二维码
    h5中嵌入视频自动播放的问题
  • 原文地址:https://www.cnblogs.com/wingzw/p/7562989.html
Copyright © 2020-2023  润新知