当前位置: 代码迷 >> ASP.NET >> ASP.NET下传大文件(几百兆)到oracle数据库Blob字段中,内存溢出,该如何解决
  详细解决方案

ASP.NET下传大文件(几百兆)到oracle数据库Blob字段中,内存溢出,该如何解决

热度:7544   发布时间:2013-02-25 00:00:00.0
ASP.NET上传大文件(几百兆)到oracle数据库Blob字段中,内存溢出,该怎么解决?
HttpPostedFile upFile = FileUpload1.PostedFile;
  int FileLength = upFile.ContentLength;
  Byte[] FileByteArray = new Byte[FileLength];
  Stream StreamObject = upFile.InputStream;
  int pos = upFile.FileName.LastIndexOf("\\");
  string ImgFName = upFile.FileName.Substring(pos + 1);
  StreamObject.Read(FileByteArray, 0, FileLength);
代码如上

------解决方案--------------------------------------------------------
光是用HttpPostedFile上传几百M的文件就没办法想象了
------解决方案--------------------------------------------------------
你这么大的文件,为什么一定要保存到数据库?为什么不能以文件的形式存放呢?
------解决方案--------------------------------------------------------
1、分段上传(不要一下子读取几百兆的数据一下就上传)
2、文件方式传送
------解决方案--------------------------------------------------------
用http的话silverlight或者flash分块上传,数据库好歹也找个key-value类型的nosql数据库啊,用oracle这是有多蛋疼
------解决方案--------------------------------------------------------
http://slfileupload.codeplex.com/
------解决方案--------------------------------------------------------
Blob可以存的下那么大的图片,但是这样写很占性能,期待有高雅的解决方案。
------解决方案--------------------------------------------------------
探讨

可以给个例子吗?因为数据库是客户自己弄的,我们说了不算~

------解决方案--------------------------------------------------------
图片传到服务器某个指定目录下,数据库保存文件名。。你那什么客户啊。无语。。就算勉强存进去了,读取的时候得花多长的时间啊
  相关解决方案