关于.netcore即时生成缩略图踩的坑

数据库69

最近,我们正在开发一个系统。缩略图在许多地方使用。然而,不同地方使用的尺寸不同。上传时生成缩略图是没有意义的。因为您不知道将使用什么尺寸,所以我们想到了一种即时生成方法。前端判断图像是否存在。如果没有,我们调用接口生成缩略图,接口返回缩略图的数据流。

[En]

Recently, we are developing a system. Thumbnails are used in many places. However, the sizes used in different places are different. It is meaningless to generate thumbnails when uploading. Because you don't know what sizes will be used, we thought of an instant generation method. The front-end judges whether the image exists. If not, we call the interface to generate thumbnails, and the interface returns the data stream of thumbnails.

本来功能都开发完成,可以达到目的,但是在会员头像使用Png生成缩略图是遇到了一个问题,就是生成的缩略图不是透明的,变成黑底色了。更奇怪的问题是并不是所有png图片都这样,同一张图片在不同的地方也有不一样的效果。

没有修改之前的代码如下:

```csharp;gutter:true;
///
/// 访问图片,接口调用方式 https://您的域名/WebApi/common/200/image%2F2022-06%2Fbb372369c3ad4d458ad2aee6c00ca4bd.png      ///其中200是图片宽度,后面是图片的相对路径
///
/// 所访问图片的宽度,高度自动缩放,大于原图尺寸或者小于等于0返回原图
/// 所要访问图片的名称或者相对地址
/// 图片
[HttpGet]
[Route("{width}/{name}")]
public IActionResult GetImage(int width, string name)
{
var errorImage = "/static/common/images/404.png";//没有找到图片
if(name.IsEmptyString())
{

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长