Asp.net 存储和显示sql数据库中的文件

Asp.net 存储和显示sql数据库中的文件,asp.net,Asp.net,如何将pdf文件和word文件存储到sql数据库中,以及如何使用“保存”选项显示这些文件,用户单击时从sql数据库打开。我正在使用c+asp.net web应用程序执行项目要存储文件,您应该从SQL Server 2008签出Filestream: 其他传统平台对二进制或图像数据类型也有类似的支持 另一种选择是,您可以将文件存储在共享文件系统中,并且只将文件路径存储在SQL表中 您需要在这里做几件事: 1创建允许用户上载文件的UI页面 此页将有一个控件来检查所需的扩展名 2编写代码将这些文件保存

如何将pdf文件和word文件存储到sql数据库中,以及如何使用“保存”选项显示这些文件,用户单击时从sql数据库打开。我正在使用c+asp.net web应用程序执行项目

要存储文件,您应该从SQL Server 2008签出Filestream:

其他传统平台对二进制或图像数据类型也有类似的支持


另一种选择是,您可以将文件存储在共享文件系统中,并且只将文件路径存储在SQL表中

您需要在这里做几件事:

1创建允许用户上载文件的UI页面

此页将有一个控件来检查所需的扩展名

2编写代码将这些文件保存到数据库

这些文件可以存储为二进制blob。由您和您的应用程序决定数据库的模式。您还可以从许多ORM工具中选择一种,以便从代码中访问数据库。请参阅

或者看 你有很多选择,选择对你来说最自然/容易的

3创建一个用户界面,供用户选择现有文件

这将使用ORM数据层读回文件列表,并显示某种按钮/链接供用户选择和下载

4一旦用户选择文件并返回文件,就从数据库中检索文件

阅读这篇MSDN关于


此外,在谷歌上搜索一下,你可能会发现很多现有的解决方案都使用了DNN等框架。

最常见的方法是在数据库中有两列,以便文件按原样存储。第1列包含文件名及其扩展名Ex:file1.txt,第2列的数据类型为binary。 在应用程序级别。方法获取上载的文件名并将其转换为字节数组。然后该数组存储在sql中的二进制字段中。文件名存储在第1个字段中。
要读回文件,另一种方法将从sql中读取二进制字段,并将其转换回FileStream,然后将其与原始文件扩展名一起保存。

使用上载的文件上载文件

将文件读入字节数组:

byte[] data = System.File.ReadAllByte(File Path);
将字节[]转换为十六进制,并将其存储在SQL中的NVARCHAR数据字段中

stringBuilder sb = new StringBuilder()
foreach(byte b in data)
{
    sb.Append(b.ToString("X");
}

当您需要显示它时,将它转换回byte[]并用它创建一个文件,然后让用户从那里打开/保存它。

哪个数据库供应商?哪个版本的.NET Framework?