我是c#的新手,我遇到将文件上传到Web服务器的问题。

我在生成代码时使用作为模板。

try
{
    using (WebClient client = new WebClient()) {
        client.Headers.Add("Content-Type", "binary/octet-stream");
        ans = client.UploadFile(remoteSiteFileURL, "POST", @"D:\test.txt");
    }

    string responseAsString = Encoding.Default.GetString(ans);
    MessageBox.Show("Done" + responseAsString);
}

当我调用这段代码时,我什么都没得到,只有一段时间后才会出现异常(可能是一分钟) 'The operation has time out'

文件test.txt小于1kb(实际上是几个字节)。 Web服务(站点)工作,我轻松上传了500kb的数据。

我在测试上传时使用了下一个html表单:

<h1>Upload file form</h1>
    <form enctype="multipart/form-data" action="upload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
        Send file<input name="userfile" type="file" />
    <input type="submit" value="Send File" />
    </form>

在upload.php中没有设置auth,会话控制。

Update1:​​1)当我运行此代码时,我无法关闭我的应用程序。 它挂起来了。 2)我关闭防火墙,这没有帮助。

Update2:我把一个记录器放在'upload.php'上,当它被调用时写入文件。 所以,我的日志中没有任何内容,即它没有被调用(我不确定它。可能是在传输完整文件时调用它(脚本))。

可能是什么问题? 我错过了什么吗?

===============>>#1 票数:2 已采纳

解决方案是增加此timout值。 但是WebClient类没有这样的属性或方法。 因此,您需要在自己的类中包装WebClient,以便在上载数据之前设置基类的超时。 而且你可以尝试WebClient的异步方法。 WebClient.UploadFileAsync

===============>>#2 票数:0

此示例不首先设置标头。 还有运气吗?

  ask by Tigran translate from so

未解决问题?本站智能推荐:

1回复

无法将随机文件上传到RESTFUL Web服务

我正在为公司产品创建某种文件管理器,并且在发布文件时使用了这种方法。 但是对于某些文件,例如.jpg可以工作,而对于某些文件则不能。 问题不在于处理上传的文件,我的上传方法甚至不针对那些文件执行,我尝试了许多解决方案,谷歌搜索,没有任何效果。 我相信它与验证有关,但我也尝试过删除所有方
1回复

将Excel文件上传到Web服务器

我试图使用文件流通过UWP c#将文件上传到Web服务器,但是它总是给我一个错误,即当我尝试在http://example.com/httpdocs/content上上传时不允许使用405方法。 即使出于测试目的,我也尝试在本地主机上上传,但还是没有运气。 有帮助吗? 代码:
1回复

如何将文本/ XML文件上传到Web服务

我有一个具有用户名和密码身份验证模式的Web服务URL。 我必须首先传递用户名和密码,如果通过身份验证,则可以将文本或XML文件上传到服务器上。 我正在寻找执行相同过程的C#代码,但找不到。 任何建议将不胜感激。 我正在使用以下代码-
1回复

在服务器上将文件上传到Web API超时

我整天都在遇到这个问题,而为什么会这样我却迷茫了。 我正在从React JS组件的客户端发布文件(.xls文件),以响应单击这样的按钮: 出现在Chrome中的请求(POST请求): 接受: /接受编码:gzip,缩小接受语言:zh-cn,en; q = 0.8,da; q
1回复

将xls文件上传到Web服务器

我正在尝试将excel文件上传到Web服务器,然后将其打开以将表读取到列表框中,然后选择列表框并重新打开excel文件以将数据绑定到gridview。 我什至将此添加到web.config中:
1回复

将大文件上传到Web服务

大家,早安: 我一直在搜索互联网,但没有找到该怎么做。 我目前正在尝试将大于100 MB的文件上传到UCM (Oracle 10g的通用内容管理)Web服务。 对于小于100 MB的文件,它可以正常工作,但是对于较大的文件,我收到10055套接字错误 ,提示没有可用的缓冲区空间或队
1回复

无法在Unity中将文件上传到Web服务器

我无法将文件上传到Unity中。 我编写了一个类,将屏幕快照保存到本地磁盘,然后通过cgi脚本将其上传到服务器。 我没有收到错误消息,但是当我检查Web服务器上的uploads文件夹时,文件不存在。 我这是怎么了? Unity C# CGI脚本
1回复

如何将文件上传到Asmx Web服务操作

这是一个非常初学者的问题,但我不熟悉如何使用HttpContext.Current.Request.Files 假设我的webService网址为: 有人可以请一些快速代码编写如何将文件上传到以下网络方法吗?
3回复

将文本文件上传到Web服务

我有以下接受文本文件的方法,并且我试图将此文本文件上传到Web服务。 我使用用户名和密码。 但我得到一个例外:“远程服务器返回错误:(404)未找到。”。 如果我再次提供用户名和密码,则会遇到相同的异常。 我应该怎么做才能克服这个问题?
1回复

将文件上传到Web服务并下载返回的文件

嗨,我正在使用GZipStream压缩xml文件并将其上传到Web服务,该服务将返回我必须下载的gzipstream。 我已在C#中使用WebClient使用以下方法,但会引发异常“ WebClient不支持并发I / O操作”。 请帮助我。