首页 > Web开发 > 详细

input file图片上传FormData

时间:2016-05-09 15:48:40      阅读:540      评论:0      收藏:0      [点我收藏+]

FormData() 上传图片,转载请注明出处!!!

$("#updatepic").on("change", function(e) {
    var file = e.target.files[0];
    var fd = new FormData();
    if (file.size < 4194304) { //判断文件大小
        fd.append("UserName", "wangteng");
        fd.append("Platform", 666); // 数字666被立即转换成字符串"666"
        fd.append("file", file);
        console.log(fd);
        $.ajax({
            url: "/User/UploadAvatar",
            type: "POST",
            data: fd,
            contentType: false, //告诉jQuery不要去处理发送的数据(必需,不然报错)
            processData: false, //告诉jQuery不要去设置Content-Type请求头(必需,不然报错)
            success: function(result) {
                //成功do
            },
            error: function(result) {
                //报错do
            }
        });
    }
});

附:

 ajax错误 Uncaught TypeError: Illegal invocation (未捕获类型错误:非法调用)

这种错误可以参考:可能是应为 contentType: false,processData: false 没有加

检查jQuery的文档后发现,如果它不是一个字符串,jQuery的尝试将数据转换成一个字符串。因此,我们需要增加一个选项:processData:false,在这里告诉jQuery不要碰我的数据!另一种选择的contentType:false以防止jQuery来为你添加一个Content-Type头,否则字符串将被丢失和上传失败。

 

input file图片上传FormData

原文:http://www.cnblogs.com/wteng/p/5472811.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!