C# 如何将PDF读入内存流?

C# 如何将PDF读入内存流?,c#,C#,如何将PDF文件读入内存流,以便将其保存到文本列中的DB中?一个选项是将文件转换为如下所示的字节数组,然后将其存储在varbinary列中的DB中 我更喜欢将文件存储在文件服务器或某个文件夹中,然后将文件路径存储在db中。您可以将任何二进制文件读取到字节数组,然后使用convert.ToBase64String将其转换为base64。结果字符串可以作为文本存储到db中。当需要将其解码回字节数组时,请使用FromBase64String。如果必须使用文本字段,则可以将文件作为字节数组读取,将其转换

如何将PDF文件读入内存流,以便将其保存到文本列中的DB中?

一个选项是将文件转换为如下所示的字节数组,然后将其存储在varbinary列中的DB中


我更喜欢将文件存储在文件服务器或某个文件夹中,然后将文件路径存储在db中。

您可以将任何二进制文件读取到字节数组,然后使用convert.ToBase64String将其转换为base64。结果字符串可以作为文本存储到db中。当需要将其解码回字节数组时,请使用FromBase64String。

如果必须使用文本字段,则可以将文件作为字节数组读取,将其转换为base64字符串,并将其存储在文本字段中:

string fileString = Convert.ToBase64String(memoryStream.ToArray());
或者,如果磁盘上有实际文件:

string fileString = Convert.ToBase64String(File.ReadAllBytes(@"path\to\file.pdf"));

我说的列类型是文本…文本。。。不是VARBINARYWell,如果db模式无法更改,那么它可能存储在文本列中,但必须在从db返回时将其转换回二进制。确定..如何?您可以更新您的答案吗?返回文本列的查询可以是select castcastt.TextColumn as varcharmax as varbinarymax from TextToVarbinary T,也可以在前端完成转换。一个问题:Base64的用途是什么?Base64是一种编码方案,允许您将二进制数据表示为字符串。
string fileString = Convert.ToBase64String(File.ReadAllBytes(@"path\to\file.pdf"));