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可以存的下那么大的图片,但是这样写很占性能,期待有高雅的解决方案。
------解决方案--------------------
------解决方案--------------------图片传到服务器某个指定目录下,数据库保存文件名。。你那什么客户啊。无语。。就算勉强存进去了,读取的时候得花多长的时间啊