我正在构建一个AngularJS应用程序,对于服务我正在使用.NET C#进行编码。我正在从SQL Server中检索图像作为字节数组,我将字节数组发送到AngularJS,它在HTML中显示图像。
我在帖子Load image from C# Byte array and place image in html tag using AngularJS
中跟我一样但我在数据中面临性能问题。我的数据库包含字节数组大小约。 2到3 MB。因此,基于互联网带宽的努力加载。 那么,请帮助我如何在不缩放图像的情况下压缩字节数组?
我在网上搜索了很多,但是他们在缩放图片方面压缩了每个帖子。但是我需要在不缩放的情况下压缩字节数组。
答案 0 :(得分:0)
如果您使用的是某些标准图片格式,例如jpeg
或png
,那么您的图片已经过压缩,除了进一步缩小图片尺寸之外,您可以做的不多当然你缩小它们。
这就是说,在您链接到的文章中,图像似乎是通过线路从服务器发送的Base64
字符串,这会导致它的大小膨胀而产生可怕的开销。图像越大,如果你使用Base64它们的开销就越大。因此,如果您遵循本文中的建议,您就不应该这样做。相反,您应该将服务器中的图像作为响应正文中的原始字节流式传输,并且不要使用任何Base64编码。然后,只需使用标准<img>
标记,其src
属性直接指向您的服务器网址。所以基本上在你的Angular应用程序中,你的模型不应该包含你作为AJAX请求下载的多个base64字符串,而是一个将被分配给相应图像标签src属性的url数组。