firebase - 在可调用的 Firebase 函数中保存对 Firebase 存储的 DocRaptor 响应
问题描述
我正在尝试将模板发送到DocRaptor,然后取回 pdf 并将其保存在 Firebase 存储位置。我的问题是 DocRaptor 返回 PDF 的二进制数据,而不是类似于 pdf 的链接。我正在尝试将其转换为缓冲区以保存在存储中,但是,当它保存文件时,它会将其保存为 application/octet-stream 类型而不是 application/pdf。
/* DOCRAPTOR PDF GENERATOR */
export const createPdfFile = functions.https.onCall((data, context) => {
const config = {
url: 'https://docraptor.com/docs',
encoding: null,
headers: {
'Content-Type' : 'application/json'
},
json: {
user_credentials: docRaptorKey,
doc: {
document_content: data.content,
type: "pdf",
test: sandboxMode
}
}
}
return new Promise((resolve, reject) => {
requestModule.post(config, (err, response, body) => {
if(!err) {
let buffer = new Buffer(body, "binary");
bucket.file(data.path).save(buffer).then((results) => {
resolve(response);
}).catch((error) => {
reject(error);
});
} else {
reject(err);
}
});
}).then((response) => {
return {'results':response}
}).catch((error) => {
throw new functions.https.HttpsError('unknown', error);
});
});
解决方案
推荐阅读
- r - 在图表中可视化 3 个变量
- python - 使用 chrome 驱动程序在自动脚本中共享屏幕的方法
- android - 改造:只允许一种 HTTP 方法。找到:GET 和 GET
- javascript - 使用 JavaScript 滚动标签栏项目
- asp.net-core - 使用 ASP Core 2.2 api 上传和下载大文件 ~50gb
- php - PHP - 使用命名空间创建 PDO 连接
- ansible - 在ansible playbook上安装后有没有办法登录和注销用户?
- javascript - 如何设置使用 WebdriverIO 下载 .dmg 文件的首选项?
- configuration - 运行使用配置文件设置的测试用例
- javascript - 从字符串数组生成星期几对象