c#上传文件到网站

本文关键字:网站 文件 | 更新日期: 2023-09-27 18:06:57

我正在尝试发布一个回复到图像板网站。它可以通过winform web浏览器控件或http请求来完成。问题是,对于帖子,您可以在页面

上上传带有输入类型file元素的图像。
<input type="file" />

出于安全原因,我不能将元素的值设置为我要上传的文件。

当我使用篡改数据来查看传递到发布页面的内容时,这是在POST_DATA

下传递的参数
-----------------------------256672629917035
Content-Disposition: form-data; name="upfile"; filename="image_file_name.jpg"
Content-Type: image/jpeg

那么如何在c#中模拟输入元素的文件上传呢?

仔细查看发布的数据,没有指定目录

c#上传文件到网站

你可以通过HttpWebRequest对象模拟任何HTTP请求。点击这里查看示例。

当你使用input type file元素时,浏览器会为你创建这个请求。如果你只是在HttpWebRequest中重新创建这个,你就可以完全控制请求的各个方面,并且可以根据你的意愿进行修改。

也许你有兴趣获取一个Fiddler的副本

如果我没理解错你的问题,您无法从浏览器控件中确定上传文件的目录。

所以…这是不可能的。关于目录的信息不是由浏览器提供的,所以它不应该由web浏览器控件提供。

正如MizardX建议的那样,最好使用c#发送请求。