【发布时间】:2020-08-25 10:57:12
【问题描述】:
我创建了一个云函数,它从给定的 url 下载图像并将其上传到 firebase 存储
async function downloadImageJimp(fileId,imageUrl) {
const image = await jimp.read(imageUrl);
await image.resize(900, 900);
return image.writeAsync("/tmp/${fileId}.jpg");
}
downloadImage(fileId,doc.data().imageUrl).then(val=>{
return bucket.upload(`/tmp/${fileId}.jpg`,{
destination: "my-destination-path",
gzip: true,
metadata: {
metadata:{
firebaseStorageDownloadTokens: uuidv4()
}
}
}).then(val=>{
return bucket.file(`my-destination-path`).makePublic();
});
上传后,我写的一个云函数触发了这个函数
async function createImageReference(){
try{
const productPath = client.productPath(projectId, location,productId);
const gcsUri=`gs://my-destination-path`;
const referenceImageId=imageId;
const referenceImage ={
uri: gcsUri
}
const req = {
parent: productPath,
referenceImage: referenceImage,
referenceImageId: referenceImageId
}
const [response] = await client.createReferenceImage(req);
// console.log(`response.name: ${response.name}`);
console.log(`response.uri: ${response.uri}`);
return true;
}catch(err){
console.log(err);
return false;
}
}
即使下载的图像是 jpg 格式,createImageReference() 函数也会返回错误消息“错误:3 INVALID_ARGUMENT:图像格式无效”。我做错了什么?
【问题讨论】:
标签: javascript google-cloud-functions google-cloud-storage google-admin-sdk google-vision