Winform Http上传文件失败,是不是文件太大?

下雪的雨 2013-05-23 11:40:54
有两个 txt 格式的文件:
1.txt 大小:8 bytes
2.txt 大小:25.6MB
两个文件都放在当前项目中的 Data 文件下

代码:
WebClient myWebClient = new WebClient();
//可以成功上传
myWebClient.UploadFile("http://localhost:64830/WebForm1.aspx","Post",@"H\Table_6.23\TABLE\App\Data\1.txt");
//上传失败
myWebClient.UploadFile("http://localhost:64830/WebForm1.aspx","Post",@"H\Table_6.23\TABLE\App\Data\3.txt");

错误:远程服务器返回错误:(500)内部服务器错误

怎么解决?
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
下雪的雨 2013-05-23
  • 打赏
  • 举报
回复
引用 2 楼 qldsrx 的回复:
默认只能上传4M的文件,超过就被拒绝。 我最近在写支持浏览器直接上传文件的服务端,这才发现这个限制,而且那个传输方式很低效,是将数据封装好后,计算了长度再上传的,因此如果文件太大,会占用大量的内存。只有使用完全流模式传输才是最高效的,目前只有html5的websocket支持,或者安装浏览器插件,而你既然使用了WinForm,自然是支持的,为啥不用流模式传输呢?那个“WebClient.UploadFile”方法非常的低效啊。
额..第一次上传这么大的,websocket 怎么做?可有案例?
qldsrx 2013-05-23
  • 打赏
  • 举报
回复
默认只能上传4M的文件,超过就被拒绝。 我最近在写支持浏览器直接上传文件的服务端,这才发现这个限制,而且那个传输方式很低效,是将数据封装好后,计算了长度再上传的,因此如果文件太大,会占用大量的内存。只有使用完全流模式传输才是最高效的,目前只有html5的websocket支持,或者安装浏览器插件,而你既然使用了WinForm,自然是支持的,为啥不用流模式传输呢?那个“WebClient.UploadFile”方法非常的低效啊。
下雪的雨 2013-05-23
  • 打赏
  • 举报
回复
顶顶顶

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧