青蛙推荐:大文件上传问题,整理自csdn论坛

优采云 发布时间: 2021-07-01 19:12

  青蛙推荐:大文件上传问题,整理自csdn论坛

  提出问题:

  如果使用上传文件,服务器先将文件保存到内存,上传完成后再保存到磁盘。

  If:如果上传1G的文件,服务器内存不足,性能会大打折扣。我的想法是通过上传保存到磁盘来解决问题,但是我遇到了这样一个问题:获取的数据流是上传后的数据流。

  -----

  传输大文件不适合在国内直接使用

  要写成activex控件,嵌入aspx页面

  此控件完成文件上传:

  1.将要上传的文件分成小包,文件名如:guid-1.m,guid-2.m

  2.写入配置文件,记录文件名,以及包的总数,包的大小

  3. 控件依次上传文件,服务器接收后需要对传入的参数进行判断。当总包数等于当前包数时,合并文件

  4. 1g 的内容在网上上传需要很长时间,

  deallock time要设置的很长,Web.config中的httpRuntime部分也要设置

  -----

  默认只能上传4M文件。如果要上传更大的文件,需要在web.config中设置

  maxRequestLength="819200"

  executionTimeout="900"/>

  -----

  使用WEB上的ACTIVEX控件,确定用户上传的目录。对于用户来说,与在WEB上上传是一样的。在WEB上选择一个上传文件,管理还是和完全通过WEB上传一样。 ,我不认为这有什么问题。 FTP稳定,为什么不使用它?

  用VB制作FTP的activex很简单,网上也有很多。部分可以直接使用,界面稍作修改即可。

  -----

  在/Microsoft.NET/Framework/v1.0.3705/CONFIG/machine.config文件中,找到maxRequestLength并将其值改为你需要的值,如

  maxRequestLength="10240",表示可以上传10M文件

  -----

  在B/S架构下,文件上传很难继续。如果速度真的很慢,打开后台线程上传是不安全的。

  -----

  我个人认为用c/s上传文件,用b/s管理文件是终极方案

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线