.Net - 使用 HttpClient 发布文件?

标签 .net asp.net-mvc httpclient asp.net-web-api

我有一个调试方法,我试图用它来将多个文件发布到本地端点以模拟一系列上传。

我有以下代码:

var fi = new FIleInfo(....);
var form = new MultipartFormDataContent();
form.Add(new StreamContent(fi.OpenRead()), "file", fi.Name);
client.PostAsync(@"http://localhost:12372/TemplateManagement/Asset/Create", form);

我想发布到具有以下签名的方法( Assets 来自自定义活页夹,但这并不重要):
public JsonResult Create(HttpPostedFileBase file, DynamicBuilderAsset asset)

帖子正常,但文件参数为空。我在这里想念什么?

最佳答案

尝试引用名称和文件名:

form.Add(new StreamContent(fi.OpenRead()), "\"file\"", "\"" + fi.Name + "\"");

如果您发送标准 key 也是如此:
form.Add(new StringContent("some asset data"), "\"asset\"");

关于.Net - 使用 HttpClient 发布文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027777/

相关文章:

c# - 无法加载程序集问题

c# - 我们可以在 asp.net 中对 global.asax 进行单元测试吗?

.net - EFCore cli 生成无用的迁移

c# - 在 Controller 外设置 ViewData

grails - 如何在 grails 中从我的类路径中获取 4.0 版的 httpclient

c# - 如何在 C# 中将类型转换为 TEnum

asp.net-mvc - ASP.NET MVC 3 : Which dll's need to be deployed?

c# - 我的 .Net 网站上的 Log4Net 调试时总是将 IsErrorEnabled 值显示为 FALSE

java - 使用 REST API 在 android 中登录 facebook

c# - HttpClientHandler/HttpClient 内存泄漏