我正在尝试在 react-native 应用程序中显示 pdf 文件。
这是我的代码:从 api 获取 blob:
Blob {
"_data": Object {
"blobId": "85225e45-7f45-463b-bd62-a9170551a3b7",
"lastModified": undefined,
"offset": 0,
"size": 3028,
"type": "application/pdf",
},
}
Run Code Online (Sandbox Code Playgroud)
注意:转换为 base64Data 后,我可以渲染图像,但不能渲染 pdf 文件。
const fileReaderInstance = new FileReader();
fileReaderInstance.readAsDataURL(response.data);
fileReaderInstance.onload = () => {
base64data = fileReaderInstance.result;
dispatch({
type: OPEN_DOCUMENT, url: base64data
});
}
Run Code Online (Sandbox Code Playgroud)
并在渲染中
<WebView
source={{ uri: url }}
originWhitelist={['*']}
/>
Run Code Online (Sandbox Code Playgroud)
(适用于图像)
<Image source={{uri: url}} style={{ height: 400, width: 300, }} />
Run Code Online (Sandbox Code Playgroud)
小智 0
URL.createObjectURL 函数在 React Native 中不可用,因为 React Native 不像传统 Web 应用程序那样使用浏览器环境。相反,它使用 JavaScript 和本机组件的组合来呈现用户界面。
在 React Native 中,您通常直接使用本地图像文件或远程 URL,而不是创建对象 URL。
另一种方法是直接将它们转换为base64,因为您已经尝试过成功。此外,虽然 base64 编码可用于图像和 PDF,但显示和渲染它们的方法可能有所不同。Base64 编码的图像可以使用 Image 组件直接渲染,而渲染 PDF 通常需要专门为在 React Native 中处理 PDF 渲染而设计的额外库。
| 归档时间: |
|
| 查看次数: |
400 次 |
| 最近记录: |