Asp.net 核心 mvc 使用 Base64 将错误的字符串值解析为 <script>
Asp.net core mvc parsing wrong string value to <script> using Base64
我有一个应用程序,您可以在其中上传和查看图像,并且我正在尝试在不使用免费试用版或昂贵的软件包的情况下实现 pdf。
应用程序的工作原理:
- 正在上传文件
- 将文件 (IFileFormat) 解码为字节
- 将字节放入数据库
- 从数据库中获取字节
- 将字节转换为 base64
- 创建 link 并查看图像(作品)。或使用 pdf.js 将 pdf 绘制为 canvas
上的图像
控制器代码:
string imageDataBytes = Convert.ToBase64String(image.FileData);
ViewBag.basesixtyfour = imageDataBytes;
Console.WriteLine(imageDatabytes);
脚本代码:
<script>
console.log('@ViewBag.basesixtyfour');
</script>
简而言之,控制台 writeline 给了我一个 275,500 字节 .
的字符串值
console.log 给了我一个字符串值,它是 308,050 字节。
我也试过使用模型来携带字符串,但出现了同样的问题。
所以问题是,为什么会这样?有什么解决方法吗?
想了想。
必须为 json 序列化,然后使用 Newsoft.Json
反序列化
控制器
ViewBag.story = JsonConvert.SerializeObject(imageDataBytes);
查看
var pdfData = atob('@Html.Raw(JsonConvert.DeserializeObject(ViewBag.story))');
我有一个应用程序,您可以在其中上传和查看图像,并且我正在尝试在不使用免费试用版或昂贵的软件包的情况下实现 pdf。
应用程序的工作原理:
- 正在上传文件
- 将文件 (IFileFormat) 解码为字节
- 将字节放入数据库
- 从数据库中获取字节
- 将字节转换为 base64
- 创建 link 并查看图像(作品)。或使用 pdf.js 将 pdf 绘制为 canvas 上的图像
控制器代码:
string imageDataBytes = Convert.ToBase64String(image.FileData);
ViewBag.basesixtyfour = imageDataBytes;
Console.WriteLine(imageDatabytes);
脚本代码:
<script>
console.log('@ViewBag.basesixtyfour');
</script>
简而言之,控制台 writeline 给了我一个 275,500 字节 .
的字符串值console.log 给了我一个字符串值,它是 308,050 字节。
我也试过使用模型来携带字符串,但出现了同样的问题。 所以问题是,为什么会这样?有什么解决方法吗?
想了想。
必须为 json 序列化,然后使用 Newsoft.Json
反序列化控制器
ViewBag.story = JsonConvert.SerializeObject(imageDataBytes);
查看
var pdfData = atob('@Html.Raw(JsonConvert.DeserializeObject(ViewBag.story))');