【问题标题】:AJAX upload fileAJAX 上传文件
【发布时间】:2023-04-03 14:36:02
【问题描述】:

我知道有很多这样的问题,但我无法让事情正常工作:( 在下面的脚本中,仅发布了“test=bla”,而没有发布文件。我究竟做错了什么? 谢谢!!!

<input type="file" name="fileUpload" id="fileUpload" onchange="fileUploadChange(this);"   />


function fileUploadChange(e) {
    var mydata = new FormData();
    mydata.append("test", "bla");
    mydata.append("fff", e.files[0]);

    $.ajax({
        type: "POST",
        url: "TestApp/Home/fileUpload",
        contentType: false,
        processData: false,
        data: mydata,
        success: function (data) {
            alert("success");
        }
        error: function (error) {
            alert("error");
        }
    });
}

经过进一步调查,我发现:在 .NET MVC 中,Controller.Request 对象具有 Form 属性和 Files 属性。字符串、整数等简单数据项可以在 Form.Keys 中找到,文件位于 Request.Files 中

【问题讨论】:

  • @Çağrı 后端得到 test=bla 但根本没有得到 fff

标签: javascript jquery .net ajax asp.net-mvc


【解决方案1】:

你错过了,在成功和错误方法之间。

$.ajax({
        type: "POST",
        url: "TestApp/Home/fileUpload",
        contentType: false,
        processData: false,
        data: mydata,
        success: function (data) {
            alert("success");
        },
        error: function (error) {
            alert("error");
        }
    });

【讨论】:

  • 你是对的,但这只是问题中的一个错字。不是真正的问题。谢谢你!
  • 这个ajax代码是对的。它可以工作,那么问题就在你的后端。所以你也应该分享后端代码
  • 后端是——Debug.WriteLine(Request.Form.AllKeys);或:Request.Form.Count 我只得到一个键。
  • 我的意思是你使用的是 .net core 还是 .net mvc ?你能分享你接受ajax请求的代码吗?
  • 我已经更新了我的问题。是的,我找错地方了:(谢谢。你的问题帮助我朝着正确的方向思考。
猜你喜欢
  • 2011-03-03
  • 2011-09-26
  • 2010-12-26
  • 2015-12-26
  • 2013-07-30
  • 2021-12-15
  • 2016-08-22
相关资源
最近更新 更多