【问题标题】:How can I specify form name in WebClient.UploadFile?如何在 WebClient.UploadFile 中指定表单名称?
【发布时间】:2017-04-02 21:13:23
【问题描述】:

WebClientHttpPostRequets 相比,在大多数 情况下是一个非常不错的抽象层。

using (WebClient webClient = new WebClient())
{
    return webClient.UploadFile(url, path);
}

但是,该类似乎不包含输入字段的名称选项。这里"file"必须是输入字段的名称。

来自 Wireshark

内容配置:表单数据;名称=“文件”;文件名="test.txt"

有没有办法在不返回 HttpPostRequest 的情况下指定“名称”字段?

【问题讨论】:

  • 你试过看NameValueCollection吗?另外,还有一个different question that might be of interest.
  • 我已经看到了这个问题以及代码project article,但我认为必须有一种方法可以使用支持的WebClient 方式更改输入字段的名称。 Microsoft 不会只是“假设”每个文件都必须在一个名为 "file" 的控件中。

标签: c# .net http-post webclient


【解决方案1】:

这似乎是硬编码的。 View source here 对于 WebClient,请转到第 573 行。

如果您愿意,您必须自己实现该部分。我发现博客文章看起来很有希望(因为它的名称是自定义的)。 You can find that here.

【讨论】:

  • 看来我们真的不能在这里改名字。希望微软有一天能将其作为参数提供......
  • 从基于 VS-MVC-angular 的前端调用 webapi 时意识到这一点是通过 webclient.UploadFile 调用 api - API 需要与文件同名 - 如果您正在使用(推荐) - .net core 2 中的 IFormFile 文件
猜你喜欢
  • 2017-07-13
  • 2014-11-24
  • 1970-01-01
  • 2011-05-05
  • 2013-03-14
  • 2013-03-31
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多