【发布时间】:2019-03-23 15:07:02
【问题描述】:
我服务器上的 websocket 向我的 react-native 应用程序发送一个 PDF 的数组缓冲区,然后我试图从那里弄清楚如何显示 PDF。我觉得rn-fetch-blob 会是答案,但我不确定去哪里。在浏览器上,我只是这样做了:
const pdfBlob = new Blob([e.data], {type: "application/pdf"})
const url = URL.createObjectURL(pdfBlob);
pdfViewer.setAttribute("src", url)
但是 React Native 不支持制作这样的 Blob。我的下一次尝试是做这样的事情:
fetch(e.data, {
responseType: "arraybuffer"
})
.then(res => res.arrayBuffer())
.then(res => res.blob())
.then(pdfBlob => {
const url = URL.createObjectURL(pdfBlob);
/** ... */
})
.catch(e => console.error(e));
但这也没有用。我知道this guy 在他的服务器响应是一个 blob 时让它适用于图像,但我不知道它是否是同一件事。
我仍然对 arraybuffers、blob、fetching 等感到非常不安,因此非常感谢任何帮助。
【问题讨论】:
-
有没有找到解决办法是这个
-
@Gokul 在下面查看我的答案:)
标签: react-native blob fetch arraybuffer