canvas.toDataURL
当我尝试获取图像时,出现以下错误:
Error: cURL error 61: Unrecognized content encoding type. libcurl understands deflate, gzip, br content encodings
然后,我使用以下方式将其导出为PNG:
const dataURL = canvas.toDataURL({
width: canvas.width,
height: canvas.height,
left: 0,
top: 0,
format: 'png'
})
async function uploadPNG(dataURL, filePath) {
const buf = Buffer.from(dataURL.replace(/^data:image\/\w+;base64,/, ""),'base64')
const uploadParams = {
Bucket: bucketName,
ContentType: 'image/png',
ContentEncoding: 'base64',
Body: buf,
Key: filePath
}
return await s3.upload(uploadParams).promise()
}
https://s3.eu-central-1.amazonaws.com/cdn.blankt.com/product/s/AY6AJSHMXnf2ReCZOu.png
以下是该API请求的一部分:
{
"name": "AY6AJSHMXnf2ReCZOu",
"type": "variable",
"regular_price": "9.90",
"sku": "AY6AJSHMXnf2ReCZOu",
...
],
"images": [
{
"src": "https://s3.eu-central-1.amazonaws.com/cdn.blankt.com/product/s/AY6AJSHMXnf2ReCZOu.png"
}
],
"attributes" : [
{
"name" : "Size",
"variation" : true,
"visible" : true,
"options" : [ "A3", "A4", "A5" ]
}
]
}
这个问题似乎只出现在我尝试使用API上传图像时,如果我手动下载并上传图像到WooCommerce,就没有问题。