首页 新闻 会员 周边

IEnumerable<HttpPostedFileBase> filename 我ajax 传参 到底传什么

0
[已解决问题] 解决于 2017-08-22 18:13

        $(document).ready(function () {
            var form = new FormData();
        $("#file").change(function () {
            alert($('#file').val())
            var fileObj = document.getElementById("file").files[0]; // js 获取文件对象
            // FormData 对象
            //form.append("author", "hooyes");                      // 可以增加表单数据
            form.append("file", fileObj);                           // 文件对象
        })
        $("#sumbit1").click(function () {
            //for(var i of form.entries()) {
            //    console.log(i[0] + ', ' + i[1]);//i[0],i[1],下标为零是键,为1是值
            //}
            $.ajax({
                url: "/MeetingArrangementManagement/asd",
                type: "post",
                data: form,
                processData: false,
                contentType: false,
                success: function (data) {
                    if (data == 1) {
                        alert("文件上传成功");
                    }
                },
                error: function (e) {
                    alert("文件错误!!");
                }
            });
        })
        });

 

FormData 不是传个这个吗 为什么收不到!

落幕。的主页 落幕。 | 初学一级 | 园豆:2
提问于:2017-08-21 20:47
< >
分享
最佳答案
0

可以参考下我这个,以前用的。

  Select File to Upload: <input id="fileUpload" type="file" />

            <input id="btnUploadFile" type="button" value="Upload File" />

  $(document).ready(function () {

        $('#btnUploadFile').on('click', function () {

            var data = new FormData();

            var files = $("#fileUpload").get(0).files;

            // Add the uploaded image content to the form data collection
            if (files.length > 0) {
                data.append("file", files[0]);
                data.append("type", "0");
                data.append("useType","0");
            }

            // Make Ajax request with the contentType = false, and procesDate = false
            var ajaxRequest = $.ajax({
                type: "POST",
                url: "/api/mediameta/Upload",
                contentType: false,
                processData: false,
                data: data
            });

            ajaxRequest.done(function (xhr, textStatus) {
                // Do other operatione
                alert(xhr+textStatus);
            });
        });
    });
 if (HttpContext.Current.Request.Files.AllKeys.Any())
            {
                // Get the uploaded image from the Files collection
                var httpPostedFile = HttpContext.Current.Request.Files["file"];

                if (httpPostedFile != null)
                {
                    var fileName = httpPostedFile.FileName;
                    var dir = HttpContext.Current.Server.MapPath("~/UploadFile");
                    CreateDirectory(dir);
                    var fileSavePath = Path.Combine(dir, fileName);
                    httpPostedFile.SaveAs(fileSavePath);


                }

                }
奖励园豆:5
开山怪不怪 | 小虾三级 |园豆:544 | 2017-08-22 17:20

data.append("file", files[0]);

data.append("type", "0");

data.append("useType","0"); 

可以在 data 中添加需要的 文件信息 以及需要的数据

但是我想删除 在data 数据中满足条件 的数据怎么删除  ?

落幕。 | 园豆:2 (初学一级) | 2017-08-22 17:34

@落幕。: 

formData.delete("k1");

https://segmentfault.com/a/1190000006716454

开山怪不怪 | 园豆:544 (小虾三级) | 2017-08-22 17:36

@黑峰: data.append("file", files[0]);   那fiel 文件呢

落幕。 | 园豆:2 (初学一级) | 2017-08-22 17:38

@落幕。: formData就是个键值对,一样可以这样删除 formData.delete("file");

开山怪不怪 | 园豆:544 (小虾三级) | 2017-08-22 17:39

@黑峰:  最后问一下。  那  怎么比例这个 FormData 的fiel  信息    

落幕。 | 园豆:2 (初学一级) | 2017-08-22 17:42

@落幕。: 比例是个什么意思?

开山怪不怪 | 园豆:544 (小虾三级) | 2017-08-22 17:43

@黑峰: 遍历.....

落幕。 | 园豆:2 (初学一级) | 2017-08-22 17:44

@落幕。: 看上面那个连接

开山怪不怪 | 园豆:544 (小虾三级) | 2017-08-22 17:48

@黑峰: i.next();   我alert 出来是一个对象啊  还是看不到

落幕。 | 园豆:2 (初学一级) | 2017-08-22 18:07
其他回答(1)
0

ajax不能传文件你不知道吗?

吴瑞祥 | 园豆:29449 (高人七级) | 2017-08-21 21:10

...那文件上传 要怎么做

支持(0) 反对(0) 落幕。 | 园豆:2 (初学一级) | 2017-08-21 21:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册