Asp.net核心mvc将错误的字符串值解析为使用Base64

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

我有一个可以在其中上传和查看图像的应用程序,并且我试图在不使用免费试用版或昂贵的软件包的情况下实现pdf格式。

该应用程序的作者:

  1. 上传文件
  2. 将文件(IFileFormat)解码为字节
  3. 将字节放入数据库中
  4. 从数据库获取字节
  5. 将字节转换为base64
  6. 创建链接并查看图像(作品)。或使用pdf.js将pdf绘制为画布上的图像

控制器代码:

            string imageDataBytes = Convert.ToBase64String(image.FileData);
            ViewBag.basesixtyfour = imageDataBytes;
            Console.WriteLine(imageDatabytes);

脚本代码:

<script>
    console.log('@ViewBag.basesixtyfour');
</script>

简而言之,控制台写入行为我提供了一个275,500字节的字符串值。

console.log为我提供了一个308,050字节的字符串值。

我曾尝试使用模型来携带字符串,但也会出现相同的问题。所以问题是,为什么会这样?有任何解决方法吗?

javascript asp.net asp.net-core pdf pdf.js
1个回答
0
投票

过一会儿想出来。

必须先序列化json,然后使用Newsoft.Json进行反序列化

控制器

ViewBag.story = JsonConvert.SerializeObject(imageDataBytes);

查看

var pdfData = atob('@Html.Raw(JsonConvert.DeserializeObject(ViewBag.story))');
© www.soinside.com 2019 - 2024. All rights reserved.