首页 新闻 会员 周边

var formdata = new FormData($("#uploadForm")[0]);

0
悬赏园豆:10 [已解决问题] 解决于 2020-10-26 18:41

江湖救急!
上传多个文件,传参失败。

var formdata = new FormData($("#uploadForm")[0]);

视图:
<form id="uploadForm" enctype="multipart/form-data">
<input type="file" name="file" multiple="multiple" />
</form>
<button id="btnUpload">上传文件</button>

脚本:

<script>

$("#btnUpload").on("click", function () {
    
    var formdata = new FormData($("#uploadForm")[0]);
    alert(formdata);
    $.ajax({
        type: "post",
        url: "/Attendance/UploadFile2/",//url地址
        contentType: false,
        cache: false,
        processData: false,
        data: formdata,
        success: function (data) {
            console.log(data);
        }
    });
});

</script>

控制器:

files.Count 为0

依米呀的主页 依米呀 | 菜鸟二级 | 园豆:235
提问于:2020-10-26 16:21
< >
分享
最佳答案
0

我用你的代码测试是可以的

将formdata改用下面的方式试下

        var formdata = new FormData();
        var files = $("input[type='file']")[0].files;
        for (var i = 0; i < files.length; i++) {
            formdata.append("file", files[i]);
        }

如果还是不行,就参照:https://www.cnblogs.com/lunawzh/p/9326619.html

收获园豆:3
E行者 | 小虾三级 |园豆:1761 | 2020-10-26 18:23

谢谢

依米呀 | 园豆:235 (菜鸟二级) | 2020-10-26 18:40
其他回答(3)
0

你js写的有问题,在百度一下吧,要 设置 异步为false

收获园豆:2
jqw2009 | 园豆:2439 (老鸟四级) | 2020-10-26 16:28

能具体点吗,大佬

支持(0) 反对(0) 依米呀 | 园豆:235 (菜鸟二级) | 2020-10-26 16:34
0
$("#but_upload").click(function(){

        var fd = new FormData();
        var files = $('#file')[0].files;
        
        // Check file selected or not
        if(files.length > 0 ){
           fd.append('file',files[0]);

           $.ajax({
              url: 'upload.php',
              type: 'post',
              data: fd,
              contentType: false,
              processData: false,
              success: function(response){
                 if(response != 0){
                    $("#img").attr("src",response); 
                    $(".preview img").show(); // Display image element
                 }else{
                    alert('file not uploaded');
                 }
              },
           });
        }else{
           alert("Please select a file.");
        }
    });

有不少地方要調,你對著範例代碼調調

收获园豆:2
RosonJ | 园豆:4910 (老鸟四级) | 2020-10-26 17:15

嗯嗯

支持(0) 反对(0) 依米呀 | 园豆:235 (菜鸟二级) | 2020-10-26 18:40
0

你咋还没成功呢0 0

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<img src="空图片连接" width="80" height="80" style="margin-left: 20px" id="id_img">

<!--<input type="file" name="file"   id="uploadForm" multiple="multiple" />-->多个文件
<input type="file" name="file" id="uploadForm">
<button id="btnUpload">up</button>

<script>
    $("#btnUpload").on("click", function () {
        var formData = new FormData();
        //获取要上传多个文件
        //let file = $("#uploadForm");
        //for (let w = 0; w < file.length; w++) {
        //    formData.append("files[]", file[w]);
        //}
        formData.append('file', $("#uploadForm")[0].files[0]); //添加图片信息的参数
        formData.append('sizeid', 123); //添加其他参数,相当于字典里面的key,value,看你业务
        $.ajax({
            url: '/Attendance/UploadFile2/',
            type: 'post',
            secureuri: false,  ////是否启用安全提交,默认为false。
            cache: false, //上传文件不需要缓存
            data: formData,
            processData: false, // 告诉jQuery不要去处理发送的数据
            contentType: false, // 告诉jQuery不要去设置Content-Type请求头
            success: function (data) {
                alert(" 上传成功");
            },
            error: function (data) {
                alert("上传失败");
            }
        })
    })
</script>



//这个你可以看看要不要加,可以学习一下
<script>
    //当该控件发生变化,响应该事件
    $("#uploadForm").change(function () {
        //alert(1)
        //取到文件对象
        var file = $("#uploadForm")[0].files[0]
        //放到img控件上,借助于filereader 中间的东西,文件阅读器
        //生成一个文件阅读器对象赋值给filereader
        var filereader = new FileReader()
        //把文件读到filereader对象中
        //读文件需要时间,需要文件读完再去操作img
        //如果没这一步操作下面不一定变化
        filereader.readAsDataURL(file)

        filereader.onload = function () {
            $("#id_img").attr('src', filereader.result)
        }
    })
</script>
收获园豆:3
小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-10-26 17:48

谢谢

支持(0) 反对(0) 依米呀 | 园豆:235 (菜鸟二级) | 2020-10-26 18:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册