【发布时间】:2021-12-26 19:54:55
【问题描述】:
我正在向托管在 url 端点的 pdf 发出 get 请求(使用 axios),它返回如下所示的编码流:
'%PDF-1.4\n%����\n1 0 obj\n<</Creator (Chromium)\n/Producer (Skia/PDF m78)\n/CreationDate (D:20211115122641+00\'00\')\n/ModDate (D:20211115122641+00\'00\')>>\nendobj\n3 0 obj\n<</ca 1\n/BM /Normal>>\nendobj\n4 0 obj\n<</Type /XObject\n/Subtype /Image\n/Width 1245\n/Height 249\n/ColorSpace /DeviceRGB\n/BitsPerComponent 8\n/Filter /DCTDecode\n/ColorTransform 0\n/Length 35434>> stream\n����\u0000\u0010JFIF\u0000\u0001\u0001\u0000\u0000\u0001\u0000\u0001\u0000\u0000��\u0002(ICC_PROFILE\u0000\u0001\u0001\u0000\u0000\u0002\u0018\u0000\u0000\u0000\u0000\u0002\u0010\u0000\u0000mntrRGB XYZ
然后我将使用以下内容将其上传到我们的存储桶:
const file = bucket.file(path);
const fileOptions = {contentType: 'application/pdf'};
return file.save(data, fileOptions)
.then(() => {
return {
url: file.getSignedUrl({action: 'read', expires: expiryDate}),
path
}
});
然而返回的 URL,打开时只显示一个空白 PDF(包含正确的页数)但没有任何内容。
从 url 下载和上传 PDF 到存储的最佳方式是什么?是这种方法(虽然我不确定我缺少什么),还是有办法上传我必须直接存储的 URL?
【问题讨论】:
-
为了更好地@Mousumi 的回复,请您回答以下问题:1. 您是否可以使用 Cloud Console 中的 URL 成功查看上传的文件? 2. 上传的 pdf 的“Type”属性是否在 Cloud Console 中显示为“application/pdf”?
-
您的代码似乎不完整。你能分享整个代码吗?
标签: node.js google-cloud-firestore google-cloud-functions google-cloud-storage