【问题标题】:How to read data from javascript FormData other than file如何从文件以外的javascript FormData读取数据
【发布时间】:2015-02-03 10:33:14
【问题描述】:

我需要上传文件和一些其他数据,为此我使用了下面的代码

HTML:

<intut type='file' id='file1'>
<intut type='file' id='file2'>

javascript:

var data = new FormData(),
    categories = ['node.js','redis'],
    roles = ['admin','HR'];
data.Append ($('#file1').Files[0].name, $('#file1').Files[0]);
data.Append ($('#file2').Files[0].name, $('#file2').Files[0]);
data.Append ('category', 'categories');
data.Append ('role', 'roles');

   $.ajax({
        url: baseaddress + 'DocRepo/GetAdminUploadData',
        type: 'Post',
        data: data,
        cache: false,
        dataType: 'json',
        async: false,
        contentType: false,
        processData: false,
        success: function (data) {
        },
        error: function (data) {
        }
    });

从这里我在我的 MVC 控制器(不是 webapi)GetAdminUploadData 中有一个操作方法,我需要在其中收集所有数据(文件、类别和角色)如何做到这一点。

【问题讨论】:

  • 你的 POST 方法的签名是什么?
  • @StephenMuecke [HttpPost] public string GetAdminUploadData (){return string.empty}
  • 你的方法连ActionResult都不是,也没有任何参数。为您发布的值添加参数,例如string category, string role,但由于您似乎是动态命名文件,因此您需要从 Request.Files 获取文件,尽管如果您有 HttpPostedFileBase file1, HttpPostedFileBase file2 的参数会容易得多

标签: c# jquery asp.net-mvc-5


【解决方案1】:

假设您只是在寻找如何获取非文件项目(如标题所述......虽然在问题正文中未提及)并且服务器代码是 C#(如您在 3 中的注释) -feb-15 提示)我会说这个问题与How can retrieve string formData js in c# 重复并由以下人员回答。

即:HttpContext.Current.Request.Form["KEY"]

【讨论】:

    猜你喜欢
    • 2013-01-30
    • 2019-06-07
    • 2016-08-15
    • 1970-01-01
    • 2020-02-24
    • 2011-11-17
    • 2022-01-17
    • 1970-01-01
    相关资源
    最近更新 更多