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

posted @ 2018-11-12 16:34  hao_1234_1234  阅读(53547)  评论(0编辑  收藏  举报