从Firebase下载文件并上传到数据条以进行ID验证

时间:2019-09-03 23:38:35

标签: node.js typescript firebase google-cloud-functions stripe-payments

我正在尝试获取我已存储在Firebase存储中的ID jpeg,并将其上传到条带中,以允许我的客户验证其身份。但是我遇到几个错误,该功能停止了

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” 然后我的功能停止了。

1 个答案:

答案 0 :(得分:0)

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

Django Template