2

问题陈述:

我有一个支持文件上传(即附件)的 aspx 网页。附件的大小最大为 500 MB。我能够获取 HttpPostedFile 但是当将流读取到 Byte[] 并将其保存到数据库时,对于较大的文件会失败。在 NHibernateSession.Flush() 中,抛出内存不足异常。

注意:我最多可以上传 45MB 数据。

如何解决这种情况?

4

2 回答 2

3

您不应该使用byte[],因为这意味着您必须将整个文件加载到内存中。这是一篇很好的文章,它说明了如何使用 BLOBSStreams来缓解这些问题。可以在此处找到文章类型中说明的自定义 Blob 数据的实现。

于 2012-09-25T10:59:28.820 回答
2

如果您的数据库是 MS SQL,那么您应该使用SqlFileStream。这是一个很好的例子

于 2012-09-30T08:10:49.357 回答