【问题标题】:Asp.net core mvc parsing wrong string value to <script> using Base64Asp.net core mvc 使用 Base64 将错误的字符串值解析为 <script>
【发布时间】:2020-07-06 15:30:08
【问题描述】:

我有一个应用程序,您可以在其中上传和查看图像,我也在尝试实现 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】:

    过了一会儿才弄明白。

    必须为 json 序列化,然后使用 Newsoft.Json 反序列化

    控制器

    ViewBag.story = JsonConvert.SerializeObject(imageDataBytes);
    

    查看

    var pdfData = atob('@Html.Raw(JsonConvert.DeserializeObject(ViewBag.story))');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2019-06-15
      • 1970-01-01
      相关资源
      最近更新 更多