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);
                }
    
            }
  • 相关阅读:
    [转]线程同步
    [转]C#线程同步(1)- 临界区&Lock
    获取系统空闲时间
    [转]一分钟明白 VS manifest 原理
    泛型总结
    wpf listbox touch 整个窗口移动
    git问题 next fetch will store in remotes/origin
    创建maven项目出现的问题
    JPA
    JDK JRE JVM
  • 原文地址:https://www.cnblogs.com/CeleryCabbage/p/13497183.html
Copyright © 2011-2022 走看看