是否有任何类,库或一些代码可以帮助我使用HTTPWebrequest上传文件?
编辑2:
我不想上传到WebDAV文件夹或类似的东西.我想模拟浏览器,就像您将头像上传到论坛或通过Web应用程序中的表单上传文件一样.上传到使用multipart/form-data的表单.
编辑:
WebClient不能满足我的要求,所以我正在寻找HTTPWebrequest的解决方案.
我一直在寻找和阅读它,并没有任何真正有用的东西.
我正在编写一个小型C#win应用程序,允许用户将文件发送到Web服务器,而不是通过FTP,而是通过HTTP使用POST.可以把它想象成一个Web表单,但在Windows应用程序上运行.
我使用这样的东西创建了我的HttpWebRequest对象
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest
Run Code Online (Sandbox Code Playgroud)
并且还设置了Method,ContentType和ContentLength属性.但那就是我能走的远.
这是我的一段代码:
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.KeepAlive = false;
req.Method = "POST";
req.Credentials = new NetworkCredential(user.UserName, user.UserPassword);
req.PreAuthenticate = true;
req.ContentType = file.ContentType;
req.ContentLength = file.Length;
HttpWebResponse response = null;
try
{
response = req.GetResponse() as HttpWebResponse;
}
catch (Exception e)
{
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题基本上是如何通过HTTP POST用C#发送文件(文本文件,图像,音频等).
谢谢!
我正在使用 ownCloud(开源云),并且我有一个表单来上传文件,该表单将发布请求发送到处理上传的 upload.php 文件。请求有很多字段,需要发送所有信息和 cookie。
我需要开发 ac# 代码来将文件上传到云端。在我看来,最好的方法是提出一个类似于表单请求的请求。你怎么看?有什么建议?
ps 我阅读了以下解决方案,但它不起作用。 在 c# 中使用 HTTP POST 发送文件 http://bytes.com/topic/c-sharp/answers/268661-how-upload-file-via-c-code 使用 HTTPWebrequest (multipart/form-data) 上传文件
谢谢
这是一些代码:
表格:
<form data-upload-id='1'
id="data-upload-form"
class="file_upload_form"
action="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>"
method="post"
enctype="multipart/form-data"
target="file_upload_target_1">
<input type="hidden" name="MAX_FILE_SIZE" id="max_upload" value="<?php p($_['uploadMaxFilesize']) ?>">
<input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" id="requesttoken">
<input type="hidden" class="max_human_file_size" value="(max <?php p($_['uploadMaxHumanFilesize']); ?>)">
<input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir">
<input type="file" id="file_upload_start" name='files[]'/>
<a href="#" class="svg"></a>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我看到的请求的方式:
enter code here
Request URL:http://my-url/owncloud/index.php/apps/files/ajax/upload.php
Request Method:POST
Status …Run Code Online (Sandbox Code Playgroud)