.Net Core2.2 WebApi上传文件
程序员文章站
2023-02-07 13:33:57
基于.net core2.2的webapi程序,接收客户端上传的文件.按照以下写法,file的值永远是null 一.有两种方法解决这个问题: 1.属性绑定.在[FromForm]里添加Name属性如:[FromForm(name = "file")],客户端调用时需要保持一致 还可以和其他参数一起传 ......
基于.net core2.2的webapi程序,接收客户端上传的文件.按照以下写法,file的值永远是null
[httppost] public void post([fromform] iformfile file) { }
一.有两种方法解决这个问题:
1.属性绑定.在[fromform]里添加name属性如:[fromform(name = "file")],客户端调用时需要保持一致
// post api/values
[httppost] public void post([fromform(name = "file")] iformfile file) { }
还可以和其他参数一起传过来
// post api/<controller> [httppost] public async task<iactionresult> uploadfile(string filename,[fromform(name ="file")]iformfile formfile)
postman测试,注意参数名要保持一致,否则收到的值为null
2.通过request.form.files获取文件,客户端可以任意指定name
// post api/values
[httppost] public void post() { iformfile formfile= request.form.files[0]; var filepath = @"d:\uploadingfiles\" + formfile.filename; if (formfile.length > 0) { using (var stream = new filestream(filepath, filemode.create)) { formfile.copyto(stream); } } }
二.客户端调用代码
var request = new restrequest(method.post); request.addfile("file", @"d:\1.jpg"); var restclient = new restclient("http://localhost:63270/api/values"); irestresponse response = restclient.execute(request);
推荐阅读
-
asp.net mvc 实现文件上传带进度条的思路与方法
-
Asp.net 文件上传类(取得文件后缀名,保存文件,加入文字水印)
-
WEBAPI 设置上传文件大小
-
Asp.Net修改上传文件大小限制方法
-
asp.net core系列 69 Amazon S3 资源文件上传示例
-
ASP.NET MVC4 利用uploadify.js多文件上传
-
.net core版 文件上传/ 支持批量上传拖拽及预览功能(bootstrap fileinput上传文件)
-
WebApi实现单个文件的上传下载
-
Asp.net_使用FileUpload控件上传文件通用方法分享
-
Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等