Я работаю над загрузкой файла, при загрузке файл преобразуется в строку base64, и эта строка отправляется в API, который сохраняет строку в SQL таблице базы данных сервера.
Тип Столбец строки base64 в таблице равен NVARCHAR(MAX)
, но я заметил, что при сохранении файла SQL обрезает строку так, что при преобразовании в режиме онлайн с использованием base64 в декодер изображений он создает только часть всего изображения, и я заметил, что Строка base64 перед сохранением в SQL составляет около 72 000 символов, но после сохранения SQL уменьшается до 4000, что отвечает за неполное декодированное изображение.
Почему SQL усекает base64 строка и что я могу сделать, чтобы помочь моей ситуации?
Вот мой код преобразования base64:
public async Task<IActionResult> UploadFile()
{
string base64string;
var myFile = Request.Form.Files["claimFile"];
var filetype = myFile.ContentType;
var filepath = Path.GetTempFileName();
using (var stream = System.IO.File.Create(filepath))
{
await myFile.CopyToAsync(stream);
}
byte[] imageByte = System.IO.File.ReadAllBytes(filepath);
base64string = Convert.ToBase64String(imageByte);
HttpContext.Session.SetString("Base64Str", base64string);
return new EmptyResult();
}