前端通過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); } }