Linking
我有一个 react-native 应用程序,它使用如下所示打开 PDF 文档:
const handlePress = () => {
Linking.openURL(
"https://link/to/file.pdf"
);
};
上面代码的问题在于它打开了网络浏览器并下载了文件。是否有任何方法可以通过设备的默认 PDF 查看器打开文件?
Linking
我有一个 react-native 应用程序,它使用如下所示打开 PDF 文档:
const handlePress = () => {
Linking.openURL(
"https://link/to/file.pdf"
);
};
上面代码的问题在于它打开了网络浏览器并下载了文件。是否有任何方法可以通过设备的默认 PDF 查看器打开文件?
您可以使用rn-fetch-blob将 PDF 下载到您的手机存储中,然后使用默认的 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");
}
});