gpt4 book ai didi

node.js - 从 firebase 下载文件并上传到 stripe 进行身份验证

转载 作者:行者123 更新时间:2023-12-05 07:19:28 25 4
gpt4 key购买 nike

我试图获取存储在 firebase 存储中的 id jpeg 并将其上传到 stripe,以便我的客户验证他们的身份。但是我遇到了几个错误并且功能停止了

import * as https from 'https'
import * as fs from 'fs'
const stripe = Stripe('sk_test');

function getidFile(url: string):Promise<any>{
return new Promise((resolve,reject) => {
const file = fs.createWriteStream("test.jpg");
https.get(
url,
function(response: IncomingMessage){
console.log('Response ', response);
response.pipe(file);
file.on('finish', function() {
file.close();
resolve(file);
});
}
).on('error', function(err) { // Handle errors
reject(err);
});
});
}

function uploadFileToStripe(fileUrl:string,fileType:string,fileName:string):Promise<any>{
return getidFile(
fileUrl
).then(
(data:any) => {
console.log('File as blob ', data);
const upload: Promise<any> =
stripe.files.create(
{
file: {
data: data,
name: fileName,
type: 'image/jpeg',
},
purpose: 'identity_document',
}
);
return upload.then(
(document: any) => {
console.log('Document upload ', document);
return document;
}
).catch(
(_error: any) => {
console.log('Error uploading document ', _error);
return _error;
}
)
}
).catch(
(_error:any) => {
console.log('Error with response ', _error);
return _error;
}
);
}

错误:EROFS:只读文件系统,打开“test.jpg”然后我的功能停止。

最佳答案

我不使用 URL。使用 admin.storage() 访问您的文件。


export const uploadFileToStripe = functions.https.onCall(async(data,context)=>{

const bucket = admin.storage().bucket('xyz.appspot.com');
const path = require('path');
const os = require('os');
const fs = require('fs');
const fileName = data['fileName'];
const tempFilePath = path.join(os.tmpdir(), fileName);
await bucket.file(fileName).download({destination:tempFilePath});

console.log('File created at', tempFilePath);

return await stripe.files.create({
purpose: 'identity_document',
file: {
data: fs.readFileSync(tempFilePath),
name: 'fileUploadDoc.png',
type: 'application/octet-stream',
},
});
});

关于node.js - 从 firebase 下载文件并上传到 stripe 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57779826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com