问题描述
我需要从网络流式传输 jpg 格式的图像(此处使用虚拟图像),然后将它们转换为 WebP。这是一次一个对话(非批量)
const axios = require("axios")
const fs = require("fs")
const imagemin = require("imagemin")
const imageminWebp = require("imagemin-webp")
async function axios_get_contents (uri,callback) {
await axios({
"method": "get","url": uri,"responseType": "stream"
}).
then((response) => {
console.log("then1")
response.data.pipe(fs.createWriteStream("pic1.jpg"))
})
}
const URL = "https://images.pexels.com/photos/1449767/pexels-photo-1449767.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260"
axios_get_contents(URL).then((ret) => console.log(ret))
下面是我被卡住的地方。我正在尝试转换为 webp。本质上,imagemin 代码在创建 jpg 之前运行。
async function axios_get_contents (uri,"responseType": "stream"
}).
then((response) => {
console.log("then1")
response.data.pipe(fs.createWriteStream("pic1.jpg"))
}).
then((response) => {
console.log("then2")
imagemin(["pic1.jpg"],{
"destination": "compressed-images","plugins": [imageminWebp({"quality": 50})]
})
})
}
问题:
如何成功链接 webp 转换?
我需要先写一个 jpg 文件,然后再将同一个文件读回 imagemin 吗?我可以将缓冲区/var 传递给 imagemin 吗?会节省阅读和写作。
感谢堆!!
解决方法
这些都对我有用
<video preload muted autoplay loop id="sty">
<source src="content/1/sty.mp4" type="video/mp4">
</video>