【发布时间】:2019-07-30 15:04:20
【问题描述】:
我目前正在寻找将 pdf 文件存储在 mysql 数据库中的解决方案。
我尝试将它们存储为 base64 字符串或字节数组,但由于任何原因两者都没有工作。我在 mysql 中使用 longblob 来存储数据。
在插入到mysql之前
byte[] myfile = File.ReadAllBytes(filename);
从mysql中获取
byte[] buffer = (byte[])cmd.ExecuteScalar();
con.Close();
FileStream fs = new FileStream(@"test.pdf", FileMode.Create);
fs.Write(buffer, 0, buffer.Length);
我真的希望有人可以帮助我解决这个问题!
【问题讨论】:
-
but both havn't worked for any reason这样的评论并不能告诉我们什么。您应该发布不起作用的代码并告诉我们如何它不起作用(异常?错误的结果?,似乎什么都不做?)。贴出的代码还不够——除了读取文件,还有 SQL、列类型等 -
一般来说,将 pdf 保存在磁盘上并在数据库中保存路径会更容易。同样,您也不必考虑如何将 pdf 正确地流式传输到应用程序以打开和或显示它。
-
任何二进制类型都可以正常工作。几十年来,我们一直在数据库中存储 blob。至于您的问题,我们需要一个更好的描述然后“不起作用”来帮助您。
-
@RaymondNijland “存储在磁盘上,在数据库中标记”方法有其自身的缺点。并且仅仅添加一个 varbinary 列肯定更难做到。作为中间立场,我们可能有 Filestream:red-gate.com/simple-talk/sql/learn-sql-server/…
-
@Christopher 您的链接是关于 SQL Server (MSSQL) ...
MySQL <> SQL Server (MSSQL)..