• FormData传输文件


    function uploadfile() {
                var inputThis = $(this);
                var thisOrderId = inputThis.parent().attr("data-detailId");
                var fileObj = this.files[0];
                inputThis.parent().children('.fileName').html(fileObj.name);
    
                var fileUrl;
                var FileController = "http://easyprint.cdn.tronsis.com/open-cdn/ssl/data/write";
                var form = new FormData();
                form.append("token", userData.cdnToken);
                form.append("secure", "false");
                form.append("file", fileObj);
                form.append("filename", fileObj.name);
                $.ajax({
                    type: "post",
                    url: FileController,
                    data: form,
                    processData: false,
                    contentType: false,
                        xhr: function() {      
                        var xhr = $.ajaxSettings.xhr();      
                        if (onprogress && xhr.upload) {        
                            xhr.upload.addEventListener("progress", onprogress, false);        
                            return xhr;      
                        }    
                    },
                    success: function(data) {
                        data = JSON.parse(data);
                        if (data.header.status == 200) {
                            easyprint.updateDesignFile({
                                token: userData.token,
                                fileUrl: data.data.url,
                                fileName: data.data.filename,
                                itemId: thisOrderId
                            }, function(data) {
                                if ($(".choODtype.active").hasClass('OrderAll')) {
                                    allOrder();
                                } else if ($(".choODtype.active").hasClass('pendding')) {
                                    penddingOrder();
                                } else {
                                    paidOrder();
                                }
                            });
                        } else if (data.header.status == 501) {
                            easyprint.getCdnToken({
                                token: userData.token,
                            }, function(data) {
                                userData.cdnToken = data.response;
                                var form = new FormData();
                                form.append("token", userData.cdnToken);
                                form.append("secure", "false");
                                form.append("file", fileObj);
                                $.ajax({
                                    type: "post",
                                    url: FileController,
                                    data: form,
                                    processData: false,
                                    contentType: false,
                                        xhr: function() {      
                                        var xhr = $.ajaxSettings.xhr();      
                                        if (onprogress && xhr.upload) {        
                                            xhr.upload.addEventListener("progress", onprogress, false);        
                                            return xhr;      
                                        }    
                                    },
                                    success: function(data) {
                                        data = JSON.parse(data);
                                        if (data.header.status == 200) {
                                            easyprint.updateDesignFile({
                                                token: userData.token,
                                                fileUrl: data.data.url,
                                                fileName: data.data.filename,
                                                itemId: thisOrderId
                                            }, function(data) {
                                                if ($(".choODtype.active").hasClass('OrderAll')) {
                                                    allOrder();
                                                } else if ($(".choODtype.active").hasClass('pendding')) {
                                                    penddingOrder();
                                                } else {
                                                    paidOrder();
                                                }
                                            });
                                        } else if (data.header.status == 501) {
                                            alert("上传失败");
                                        }
                                    }
                                })
                            })
                        }
                    },
                    error: function() {
                        alert("服务器异常")
                    }
                })
    
                function onprogress(evt) {
                    var loaded = evt.loaded; //已经上传大小情况
                    var tot = evt.total; //附件总大小
                    var per = Math.floor(100 * loaded / tot); //已经上传的百分比
                    inputThis.prev(".percent").show();
                    inputThis.prev(".percent").children('.son').html(per + "%");
                }
            }
  • 相关阅读:
    [asp.net] 网页自动刷新总结
    内容页中修改母版页内容
    [asp.net] 页面传值方法小记
    [VSS2005] 源代码管理bin文件夹里的.dll总是被签出,不能同时编译解决办法
    [asp.net] 设置与获取CheckBoxList多选的值
    [转] asp.net中repeater按钮传值与分页
    [asp.net] 验证控件的属性及用法
    [asp.net] 格式化repeater字段显示
    VPS绑定中文域名方法
    M/T法测速经典解析(转)
  • 原文地址:https://www.cnblogs.com/zccfun/p/6054663.html
Copyright © 2020-2023  润新知