Postman Post請求上傳文件

Postman Post請求上傳文件
1、選擇post請求方式,輸入請求地址前端

2、填寫Headersweb

Key:Content-Type ;Value:multipart/form-data數據庫

以下圖後端

 

3、填寫bodyapi

選擇form-data,key選擇file類型後value會出現按鈕,點擊按鈕選擇文件,最後點擊Send發送便可。服務器

 

返回結果,如上圖所示。post

 

4、後端:C# webapi 方法測試

        [AllowAnonymous] //測試時容許任何人訪問,測試後要刪除
        [HttpPost]  //指定post請求才能訪問
        [Route("UploadFile")]  //方法別名,路由根據別名找到方法。
        public ApiResult UploadFile()
        {
            var result = new ApiResult();
            var httpRequest = HttpContext.Current.Request; //與MVC控制器不一樣,這裏要加 Current。
            if (httpRequest.Files.Count > 0)
            {
                string url = null;
                foreach (string file in httpRequest.Files)
                {
                    var postedFile = httpRequest.Files[file];
                    Guid name = Guid.NewGuid();
                    string ext = postedFile.FileName.Split('.')[postedFile.FileName.Split('.').Length - 1];
                     //須要的時候能夠進行文件格式控制
                    //if (!(ext.ToLower().Contains("jpg") || ext.ToLower().Contains("jpeg") || ext.ToLower().Contains("png") || ext.ToLower().Contains("gif")))
                    //{
                    //    result.msg = "請上傳jpg,png,gif,jpeg格式的圖片";
                    //    break;
                    //}
                    string fileName = name.ToString() + "." + ext;

                    var serverPath = "~/UploadFiles/StandardFiles";
                    var dirPath = HttpContext.Current.Server.MapPath(serverPath);
                    var filePath = Path.Combine(dirPath, fileName);
                    if (!Directory.Exists(dirPath))
                    {
                        Directory.CreateDirectory(dirPath);
                    }
                    postedFile.SaveAs(filePath);
                    url = Url.Content(serverPath + "/" + fileName);
                }
                result.data = new
                {
                    url = url  //返回一個url到前端,前端結合表單操做保存到數據庫。列表頁根據這個url呈現給用戶就能夠下載文件。
                };
                result.success = true;
            }
            return result;
        }                        

 建議進行數據格式控制,任何文件格式都容許上傳是有風險的,對服務器和未來下載的人的電腦。ui

 

參考文獻:https://blog.csdn.net/maowendi/article/details/80537304url

相關文章
相關標籤/搜索