从firebase存储下载图像,并使用node.js cloud函数添加到jszip

从firebase存储下载图像,并使用node.js cloud函数添加到jszip,firebase,google-cloud-functions,google-cloud-storage,nodejs-jszip,Firebase,Google Cloud Functions,Google Cloud Storage,Nodejs Jszip,几天来,我一直在尝试各种方法,但我遇到了麻烦。我有一些存储在firebase存储中的图像,我想将它们添加到一个zip文件中,然后通过电子邮件与其他表单一起发送出去。我已经尝试了多次迭代,但是,虽然jpeg文件被添加到输出的zip中,但任何应用程序都无法打开它 以下是我的最新迭代: exports.sendmailpacket=functions.https.onRequest(异步(请求、响应)=>{ const userId=request.query.userId; const image=

几天来,我一直在尝试各种方法,但我遇到了麻烦。我有一些存储在firebase存储中的图像,我想将它们添加到一个zip文件中,然后通过电子邮件与其他表单一起发送出去。我已经尝试了多次迭代,但是,虽然jpeg文件被添加到输出的zip中,但任何应用程序都无法打开它

以下是我的最新迭代:

exports.sendmailpacket=functions.https.onRequest(异步(请求、响应)=>{
const userId=request.query.userId;
const image=等待管理员
.储存
.bucket()
.file(`images/${userId}`)
.download();
const-zipped=new-JSZip();
文件('my-image.jpg',image,{binary:true});
const content=wait zipped.generateAsync({type:'nodebuffer'});
//这会被另一个发送电子邮件的云功能接收
等待管理员firestore()
.收集(“电子邮件”)
.doc(用户ID)
.设置({
致:'myemail@gmail.com',
信息:{
附件:[
{
文件名:“test.mctesty.zip”,
内容:Buffer.from(内容)
}
]
}
});
});

经过进一步的研究,我们发现:

exports.sendmailpacket=functions.https.onRequest(异步(请求、响应)=>{
const userId=request.query.userId;
const image=等待管理员
.储存
.bucket()
.file(`images/${userId}`)
.get();//获取而不是下载
const-zipped=new-JSZip();
zip.file('my-image.jpg',image[0].createReadStream(),{binary:true});//从'file'类型调用.createReadStream()
const content=wait zipped.generateAsync({type:'nodebuffer'});
//这会被另一个发送电子邮件的云功能接收
等待管理员firestore()
.收集(“电子邮件”)
.doc(用户ID)
.设置({
致:'myemail@gmail.com',
信息:{
附件:[
{
文件名:“test.mctesty.zip”,
内容:Buffer.from(内容)
}
]
}
});
});

经过进一步的研究,我们发现:

exports.sendmailpacket=functions.https.onRequest(异步(请求、响应)=>{
const userId=request.query.userId;
const image=等待管理员
.储存
.bucket()
.file(`images/${userId}`)
.get();//获取而不是下载
const-zipped=new-JSZip();
zip.file('my-image.jpg',image[0].createReadStream(),{binary:true});//从'file'类型调用.createReadStream()
const content=wait zipped.generateAsync({type:'nodebuffer'});
//这会被另一个发送电子邮件的云功能接收
等待管理员firestore()
.收集(“电子邮件”)
.doc(用户ID)
.设置({
致:'myemail@gmail.com',
信息:{
附件:[
{
文件名:“test.mctesty.zip”,
内容:Buffer.from(内容)
}
]
}
});
});