C#中的文件上传HTTP PUT

7

我正在使用C#编写桌面应用程序,使用HTTP PUT上传大文件到Web服务器。我尝试过libcurl .net,但是绑定似乎非常难以使用。

有更好、更简单的方法吗?

PS:我的服务器是nginx。我相信HTTP PUT是最好的方式,但如果nginx上有更好的替代方案,我也可以使用。

1个回答

15

你试过使用内置的WebClient吗?它非常简单:

var wc = new WebClient();
wc.UploadData("http://www.example.com/upload-image", "PUT", imageData);

(WebClient.UploadFile也可用,根据您的图像数据存储位置可能更好)


上传过程中是否也可以获取回调来监控进度? - sharjeel
哦,我刚注意到它还有监视进度的回调函数 :-) 非常感谢! - sharjeel
@sharjeel: 嗨,你能发一段代码片段教我如何使用WebClient来进行回调监控进度吗? - FosterZ
1
@FosterZ,使用UploadFileAsync方法并使用UploadProgressChanged删除。请查看此链接:https://dev59.com/9XNA5IYBdhLWcg3wYMx-#982332 - sharjeel
不要忘记调用Dispose(或使用Using) - Jay Wick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接