我在调用stripe.files.create()函数上载用于条纹连接帐户的身份文档时遇到麻烦。
我已经尝试了Stripe文档中的所有示例,并遵循了本指南:https://stripe.com/docs/file-upload,但是我仍然收到错误消息。
这是一个云函数,它接收存储在Firebase Storage中的图像的URL(rp是来自https://www.npmjs.com/package/request-promise的请求承诺模块):
exports.testFileUpload = functions.https.onCall((data, context) => {
return rp(data.dlUrl).then(response => {
var imgFile = response
console.log(imgFile)
return stripe.files.create({
purpose: 'identity_document',
file: {
data: imgFile,
name: 'file.jpeg',
type: 'image/jpeg'
}
}).then((file) => {
console.log(file)
return file
}).catch((err) => {
console.log(err)
return err
})
})
预期的输出应该是来自条带的文件对象,但是我收到此错误消息:“我们目前不支持该文件类型。请尝试上传具有以下MIME类型之一的文件:application / pdf,image / jpeg,图片/ png”
任何帮助将不胜感激!谢谢!
更新
我尝试将下载链接传输到文件中,并在stripe.files.create()请求中引用了该文件,但是上面仍然出现相同的不受支持的文件类型错误
exports.testFileUpload = functions.https.onCall((data, context) => {
request(data.dlUrl).pipe(fs.createWriteStream('/tmp/IC.jpg'))
var fp = fs.readFileSync('/tmp/IC.jpg');
return stripe.files.create({
purpose: 'identity_document',
file: {
data: fp,
name: 'IC.jpg',
type: 'application/octet-stream'
}
}).then((file) => {
console.log(file)
return file
}).catch((err) => {
console.log(err)
return err
})
})