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 + "%");
}
}

FormData传输文件的更多相关文章

  1. http使用formData方式传输文件请求

    转载请注明出处: 项目中有遇到http使用formData请求传输文件,在此记录一下 1.依赖jar包: <dependency> <groupId>org.apache.ht ...

  2. FormData实现文件上传

    我用到FormData传输的使用场景:vant UI组件里面 的图片上传这块,需要调用后台的图片上传接口,使用的是FormData方式上传的 https://www.cnblogs.com/hutuz ...

  3. Django--多对多表的创建、contentType、ajax、ajax传输json数据格式、ajax传输文件数据、 自定义分页器

    MTV与MVC(了解): MTV模型(Django用的就是MTV): M:模型层(models.py) T:templates C:views MVC模型: M:模型层(models.py) V:视图 ...

  4. SpringMvc接收multipart/form-data 传输的数据 及 PostMan各类数据类型的区别

    前段时间遇到一个问题,在spring mvc 服务端接收post请求时,通过html 表单提交的时候,服务端能够接收到参数的值.但是使用httpclient4.3构造post请求,却无法接收到参数的值 ...

  5. 利用scp传输文件

    在linux下一般用scp这个命令来通过ssh传输文件. 从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目 ...

  6. mac与windows通过ftp传输文件

    1.两个系统相互传文件,比较通用的方式是用QQ,两台电脑一台各登陆一个qq,发文件就行了,在同一个网段时,qq会自动转换为按局域网的方式传输. 2.本人不愿安装qq,以ftp方式进行传输,先在wndo ...

  7. 使用SecureCRT在远程主机和本地之间传输文件

    终于弄明白怎样在SecureCRT的shell里用命令上传下载文件.SecureCRT记住密码的功能容易设置,于是偶这懒人,后来习惯了用 SecureCRT,但其上传文件功能偶一直没弄明白过.之前一直 ...

  8. python起的 simpleHTTPServer服务传输文件

    python起的 simpleHTTPServer服务传输文件 经同事的介绍,在Linux上传输文件的一种特别方便的方法: python -m SimpleHTTPServer [端口] 端口不填 默 ...

  9. 利用SSH传输文件

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...

随机推荐

  1. Python是否存在方法方法重载及是否可以不显示声明初始化方法

    一.python中是否存在方法重载 对java有了解的程序员都知道,java中存在构造方法重载和普通方法重载,重载指的是方法名相同,参数列表不同的多个方法.python中是否也支持这两种方法重载,测试 ...

  2. PHP中try catch的用法

    异常(Exception)用于在指定的错误发生时改变脚本的正常流程. 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法. 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程.这 ...

  3. LC 431. Encode N-ary Tree to Binary Tree 【lock,hard】

    Design an algorithm to encode an N-ary tree into a binary tree and decode the binary tree to get the ...

  4. PHP+实现文件的上传和下载

    工程截图 配置路径 修改系统配置文件路径 填写正确的项目路径 将loclahost:811/up6/改为实际项目路径. 文件和文件夹批量上传 当网络问题导致传输错误时,只需要重传出错分片,而不是整个文 ...

  5. TYPES与DATA区别

    例如:int  a; "c语言定义 TYPES:BEGIN OF typ,   filed1 TYPE c,   END OF typ.         "相当于int类型 DAT ...

  6. [笔记] 使用otunnel从外网访问内网

    需求 内网机器没有公网IP,但是可以访问外网,现在需要从外网访问内网机器. 举例,在家里机器A访问公司内网机器B. 前提 需要一台有公网IP的服务器S做中转,这样就可以打通AB两端了. A <- ...

  7. (“(null)” is of a model that is not supported by this version of Xcode. Please...)

    真机测试遇到以下问题: (还以为手机不支持Xcode的版本呢) 解决方法: 发现只要将XCode重启后就可以真机运行了,碰见这个问题的朋友可以试下,我反正是被坑了半小时...

  8. java:nginx(java代码操作ftp服务器)

    1.检查是否安装了vsftpd [root@linux01 ~]# rpm -qa|grep vsftpd 2.安装vsftpd [root@linux01 ~]# yum -y install vs ...

  9. Spring MVC模式下,获取WebApplicationContext的工具类 方法

    在已有的注解类型下,获取WebApplicationContext的工具类 通过  WebApplicationContextUtils.getRequiredWebApplicationContex ...

  10. PJzhang:从js文件中寻找子域名的SubDomainizer

    猫宁!!! 有些专门针对企业客户的网站,可能没有供公开注册的页面,但是在js文件中可能会隐藏他们的注册接口,当然这也是一种安全风险,就像有些后台是一定不能不小心放外网一个道理.   最近看到一篇文章提 ...