在SQL Server数据库中保存文件base64字符串

问题描述 投票:0回答:1

我正在上载文件,上载时将文件转换为base64字符串(我知道它听起来很陈旧),并将此字符串发送到将字符串保存在SQL Server数据库表中的api。

表中base64字符串列的类型为NVARCHAR(MAX),但我注意到保存文件时,SQL会截断该字符串,以便当您使用base64在线转换为图像解码器时,它仅生成整个图片的一部分,并且我注意到在保存到SQL之前,base64字符串的字符数约为72,000,但是在保存为SQL之后,它减少为大约4,000,这是导致解码的图像不完整的原因。

为什么SQL会截断base64字符串,我该怎么做以帮助解决我的情况?

c# sql sql-server sql-server-2014 tobase64string
1个回答
1
投票
两个建议:

    将列重新定义为VARCHAR(MAX)
  1. 保存一个uuencoded字符串,然后

  2. 读回文本,查看保存/检索的字符串值是否匹配。

看这里:

https://dba.stackexchange.com/questions/212160/why-do-i-get-incorrect-characters-when-decoding-a-base64-string-to-nvarchar-in-s

请回发您发现的内容!

也-出于好奇-

问:首先如何进行Base64编码?

© www.soinside.com 2019 - 2024. All rights reserved.