如果有文件路径,如何在SQL Server数据库中保存文件?

eom*_*off 9 c# sql-server sql-server-2005

我正在构建一些C#桌面应用程序,我需要将文件保存到数据库中.我想出了一些文件选择器,它给了我正确的文件路径.现在我有问题如何使用它的路径将该文件保存到数据库中.

小智 10

这实际上取决于文件的类型和大小.如果它是文本文件,那么您可以使用File.ReadAllText()获取可以保存在数据库中的字符串.

如果它不是文本文件,那么您可以使用File.ReadAllBytes()获取文件的二进制数据,然后将其保存到数据库中.

但是要小心,数据库不是存储繁重文件的好方法(你会遇到一些性能问题).


Pau*_*sey 5

FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
int numBytes = new FileInfo(fileName).Length;
byte[] buff = br.ReadBytes(numBytes);
Run Code Online (Sandbox Code Playgroud)

然后你像其他任何东西一样上传到数据库,我假设你使用的是varbinary列(BLOB)

  • -1任何建议将整个文件加载到byte []中的解决方案都应该在我的书中进行下调 (3认同)
  • @RemusRusanu,你会在这种情况下建议什么解决方案? (3认同)