zoukankan      html  css  js  c++  java
  • MVC-前台调用后台action 传递upload file 参数问题

    在后台获取upload file 数量的时候发现count一直为0,经检查发现了问题 ,代码如下:

    前台:

    var data = $("#DetailForm").serialize();

    $.ajax({
    url: '@Url.Action("SaveRequest", "RegistrationRequest")',
    type: "POST",
    dataType: "JSON",
    data: data,
    cache: false,
    processData: false,
    success: function (result) {
    window.scrollTo(0, 0);
    utility.hideMask();
    FormSaveSuccess(result);
    }
    });

    后台:

    [HttpPost]
    public ActionResult SaveRequest(DetailModel model)
    {
       if (ModelState.IsValid)
       {

         if (model.Type == Codes.VT.ToString() || model.Type == Codes.NT.ToString())
         {
         model.DocumentsList = Utility.BuildDocumentModel(Request.Files, model.DocumentSearchCriteria.ModuleCode,  "", "",  model.DocumentSearchCriteria.FunctionId);

         if (model.DocumentsList.Count == 0)
        {
           return Json(new { HasError = true, ErrorMessage = MessageResources._NoUploadFile });
        }

      }

    }
    }

    Request.Files 里文件count ==0.

    解决这个问题只需要在前台调用action脚本里加上 属性 mimeType: "mutipart/form-data",

    $.ajax({
    url: '@Url.Action("SaveRequest", "RegistrationRequest")',
    type: "POST",
    dataType: "JSON",
    data: new FormData(this),

    mimeType: "mutipart/form-data",

    cache: false,
    processData: false,
    success: function (result) {
    window.scrollTo(0, 0);
    utility.hideMask();
    FormSaveSuccess(result);
    }
    });

  • 相关阅读:
    B树,B+树比较
    Kafka、RabbitMQ、RocketMQ 全方位对比
    ElasticSearch 笔记
    AtomicReference实现单例模式
    Netty 核心组件笔记
    Netty Reactor 线程模型笔记
    urldecode和urlencode相互转换
    python字符格式问题SyntaxError: Non-UTF-8 code starting with 'xe4'
    百度文字识别获取access token
    Python中MD5加密
  • 原文地址:https://www.cnblogs.com/wwzhang/p/4944860.html
Copyright © 2011-2022 走看看