当前位置: 首页 > news >正文

node.js把webp,gif格式图片转换成jpg格式图片

苹果手机及苹果电脑无法识别安卓的webp格式图片,安卓手机无法识别苹果的.livp(实况图)和.HEIC格式图片(老系统的苹果手机实况图)。
可以通过sharp把webp和gif格式图片转换成jpg格式图片,质量0.8。

const sharp = require('sharp');
ImageTool.convertToJpeg = async function(inputPath, quality = 80) {const fileExt = path.extname(inputPath).toLowerCase();const outputPath = inputPath.replace(fileExt, '.jpg');try {// 其他格式使用 sharpawait sharp(inputPath).jpeg({ quality: quality,chromaSubsampling: '4:4:4'}).toFile(outputPath);return outputPath;} catch (error) {console.error('图片转换失败:', error);// throw error;throw msgCode[39522]('上传');}
};

调用代码:

    // 获取文件扩展名const fileExt = path.extname(ctx.req.file.originalname).toLowerCase();let convertedPath = null;    // 不支持的格式,转换为 JPEGconst convertedPath = await ImageTool.convertToJpeg(ctx.req.file.path, 80);const readStream = fs.createReadStream(convertedPath);let arr = ctx.req.file.path.split('/');let filename = '/img/' + arr[arr.length - 1].replace(fileExt, '.jpg');//上传阿里云图片接口。return ImageTool.uploadImage(filename, fileExt, readStream, convertedPath, ctx.req.file.path);

图片上传阿里云。

http://www.dtcms.com/a/490485.html

相关文章:

  • 不能识别adb/usb口记录
  • SpringBoot-常用注解
  • 支付商城网站制作软件开发报价表
  • wordpress类似的平台快速优化排名公司推荐
  • Git 基础操作指南
  • 网站给部分文字做遮挡代码wordpress主题仿逛丢
  • 【bug】大模型微调bug:OSError: Failed to load tokenizer.| Lora
  • 视频生成的背后机理:Wan2技术报告分析
  • 有什么做衣服的网站吗天津市建筑信息平台
  • HTB BoardLight writeup(enlightenment 0.23.1 exploit)
  • 唐山网站搭建平台制作计划
  • 智能体面试题:ReAct框架 是什么
  • 泰山派rk3566 wifi基础知识
  • 【无标题】大模型-AIGC技术在文本生成与音频生成领域的应用
  • 渗透测试(2):不安全配置、敏感明文传输、未授权访问
  • 有记事本做简易网站深圳网站设计x程序
  • AI教育开启新篇章
  • 使用bert-base-chinese中文预训练模型,使用 lansinuote/ChnSentiCorp 中文网购评价数据集进行情感分类微调和训练。
  • 国内做设计的网站做视频素材哪个网站好
  • WebGIS包括哪些技术栈?
  • Python全栈(基础篇)——Day13:后端内容(模块详解)
  • 科创企业品牌营销:突破与发展之路
  • Spring Boot 3零基础教程,Spring Boot 指定日志文件位置,笔记21
  • 腾讯云如何建设网站首页北京网站建设联系电话
  • 【JWT漏洞】
  • 2025年10月版集成RagFlow和Dify的医疗知识库自动化查询(安装篇)
  • 苏州手机网站建设多少钱上海小程序定制公司
  • YOLO-V1 与 YOLO-V2 核心技术解析:目标检测的迭代突破
  • HarmonyOS Next 实战技巧集锦
  • 【鸿蒙进阶-7】鸿蒙与web混合开发