zoukankan      html  css  js  c++  java
  • .Net WebApi接收上传文件

    前端通过ContentType:multipart/form-data,上传文件到后端,后端接收并处理请求

    前端用Postman发起请求示例:

    后端Action代码:

            [HttpPost]
            public HttpResponseMessage UploadFile()
            {
                try
                {
                    UploadFileRQVM rqvm = new UploadFileRQVM();
    
                    #region 请求参数校验
                    HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];// 获取传统 context
                    HttpRequestBase request = context.Request;// 定义传统 request 对象
                    rqvm.UserName = request.Form["UserName"];
                    rqvm.Age= request.Form["Age"].ToInt();#endregion
    
                    #region 上传文件
                    HttpFileCollection files = HttpContext.Current.Request.Files;
                    HttpPostedFile file = null;
                    if (files == null || files.Count <= 0)
                    {
                        return Error("上传文件内容有误");
                    }
    
                    file = files[0];
    
                    var fs = file.InputStream;
                    var fileByte = new byte[fs.Length];
                    fs.Read(fileByte, 0, fileByte.Length);
                    fs.Close();
                    #endregion
    
                    #region 上传文件处理
                    var saveFileRPVM = SaveFileHelper();
                    if (saveFileRPVM.type != 1)
                    {
                        return Error(saveFileRPVM.message);
                    }
                    var uploadFile = saveFileRPVM.resultdata;
                    if (uploadFile == null)
                    {
                        return Error("文件处理异常");
                    }
                    #endregion
    
                    return Success("操作成功", uploadFile);
                }
                catch (Exception ex)
                {
                    return Error("请求异常,异常原因" + ex.Message);
                }
    
            }
  • 相关阅读:
    前端资料
    贪心
    二叉树的最大深度
    最长回文子串
    动态规划-tsp
    动态规划
    spfa与SLF和LLL(复习)
    动态规划之最长 公共子序列和上升子序列
    最近最远距离之暴力优化
    基于Element-UI封装的季度插件
  • 原文地址:https://www.cnblogs.com/CeleryCabbage/p/13497183.html
Copyright © 2011-2022 走看看