有两个 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)内部服务器错误
 
怎么解决?WinformHttp上传文件

解决方案 »

  1.   

    默认只能上传4M的文件,超过就被拒绝。
    我最近在写支持浏览器直接上传文件的服务端,这才发现这个限制,而且那个传输方式很低效,是将数据封装好后,计算了长度再上传的,因此如果文件太大,会占用大量的内存。只有使用完全流模式传输才是最高效的,目前只有html5的websocket支持,或者安装浏览器插件,而你既然使用了WinForm,自然是支持的,为啥不用流模式传输呢?那个“WebClient.UploadFile”方法非常的低效啊。
      

  2.   


    额..第一次上传这么大的,websocket 怎么做?可有案例?