.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);
            }

        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM