我熟悉Winform和WPF,但不熟悉Web开发。有一天看到了WebClient.UploadValues并决定试一试。
('Model #:', '1561496564')
运行后,没有打印,html文件内容变成这样:
static void Main(string[] args)
{
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["thing1"] = "hello";
values["thing2"] = "world";
//A single file that contains plain html
var response = client.UploadValues("D:\\page.html", values);
var responseString = Encoding.Default.GetString(response);
Console.WriteLine(responseString);
}
Console.ReadLine();
}
有人可以解释一下,谢谢!
答案 0 :(得分:2)
UploadValues
方法旨在与HTTP协议一起使用。这意味着您需要在Web服务器上托管您的html并发出如下请求:
var response = client.UploadValues("http://some_server/page.html", values);
在这种情况下,该方法将使用application/x-www-form-urlencoded
编码将值发送到服务器,它将从HTTP请求返回响应。
我从未将UploadValues
与本地文件一起使用,documentation
似乎没有提及任何相关内容。他们只提到HTTP或FTP协议。所以我认为这与使用本地文件时有一些副作用 - >它只是用正在发送的有效负载覆盖此文件的内容。
答案 1 :(得分:1)
您使用的WebClient
并非如预期那样。
WebClient.UploadValues
的目的是将指定的名称/值集合上载到由指定URI标识的资源。
但它不应该是您磁盘上的某些本地文件,而应该是某些网络服务监听请求并发出响应。