React Native 查看 PDF
React Native View PDF
我有一个 react-native 应用程序,它使用 Linking
打开 PDF 文档,如下所示:
const handlePress = () => {
Linking.openURL(
"https://link/to/file.pdf"
);
};
以上代码的问题在于它打开网络浏览器并下载文件。有什么方法可以通过设备的默认 PDF 查看器打开文件吗?
您可以使用 rn-fetch-blob 下载 PDF 到您的 phone 存储空间,然后使用默认的 PDF 查看器打开它,如下所示:
import { Platform } from "react-native";
import RNFetchBlob from 'rn-fetch-blob'
const android = RNFetchBlob.android;
RNFetchBlob.config({
addAndroidDownloads: {
useDownloadManager: true,
title: "awesome.pdf",
description: "An awesome PDF",
mime: "application/pdf",
mediaScannable: true,
notification: true,
},
})
.fetch("GET", `http://www.example.com/awesome.pdf`)
.then((res) => {
const path = res.path();
if (Platform.OS === "ios") {
RNFetchBlob.ios.openDocument(path);
} else {
android.actionViewIntent(path, "application/pdf");
}
});
我有一个 react-native 应用程序,它使用 Linking
打开 PDF 文档,如下所示:
const handlePress = () => {
Linking.openURL(
"https://link/to/file.pdf"
);
};
以上代码的问题在于它打开网络浏览器并下载文件。有什么方法可以通过设备的默认 PDF 查看器打开文件吗?
您可以使用 rn-fetch-blob 下载 PDF 到您的 phone 存储空间,然后使用默认的 PDF 查看器打开它,如下所示:
import { Platform } from "react-native";
import RNFetchBlob from 'rn-fetch-blob'
const android = RNFetchBlob.android;
RNFetchBlob.config({
addAndroidDownloads: {
useDownloadManager: true,
title: "awesome.pdf",
description: "An awesome PDF",
mime: "application/pdf",
mediaScannable: true,
notification: true,
},
})
.fetch("GET", `http://www.example.com/awesome.pdf`)
.then((res) => {
const path = res.path();
if (Platform.OS === "ios") {
RNFetchBlob.ios.openDocument(path);
} else {
android.actionViewIntent(path, "application/pdf");
}
});