我使用后发现传文件貌似还是整个文件全传向服务器,大一点的文件会报错。(通过改web.config最大可以设置为允许上传20MB的文件。)
是我后台代码写错了吗?这是我的两种实现,都不行:
private void HttpPostedFileSaveAs(HttpPostedFile postedFile,string filePath)
{
//postedFile.SaveAs(filePath);//默认最大4MB,可通过改web.config设置为20MB(最大20MB)
System.IO.Stream s = postedFile.InputStream;
System.IO.FileStream fs = File.Create(filePath);
int offset = 0;
int readOnce = 4;
byte[] byteTemp = new byte[readOnce];
do
{
int readCn = s.Read(byteTemp, 0, readOnce);
fs.Write(byteTemp,0,readCn);
offset += readCn;
if (readCn < readOnce)
break;
} while (true);
fs.Flush();
fs.Close();
}
其本质还是通过http来上传文件,所以还是要受到http协议中最大文件的限制。除非flash中能实现文件分割上传。这个一般只能通过winform程序来实现打文件上传