Postman Post请求上传文件
Postman Post请求上传文件
一、选择post请求方式,输入请求地址
二、填写Headers
Key:Content-Type ;Value:multipart/form-data
如下图
三、填写body
选择form-data,key选择file类型后value会出现按钮,点击按钮选择文件,最后点击Send发送即可。
返回结果,如上图所示。
四、后端: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; }
建议进行数据格式控制,任何文件格式都允许上传是有风险的,对服务器和将来下载的人的电脑。
参考文献:https://blog.csdn.net/maowendi/article/details/80537304
树立目标,保持活力,gogogo!