【发布时间】:2020-02-28 02:06:58
【问题描述】:
我正在尝试下载 PDF 并通过“expo-sharing”SDK 共享它。我无法使用FileSystem.createDownloadResumable,因为该文档可通过 POST 请求获得。
【问题讨论】:
标签: javascript react-native expo
我正在尝试下载 PDF 并通过“expo-sharing”SDK 共享它。我无法使用FileSystem.createDownloadResumable,因为该文档可通过 POST 请求获得。
【问题讨论】:
标签: javascript react-native expo
将其下载为blob 并使用FileReader 将其转换为base64 字符串以传递给FileSystem.writeAsStringAsync
const response = await axios.post(URL_PDF_CONTENT, { Benefits: payload }, { responseType: 'blob' });
const fr = new FileReader();
fr.onload = async () => {
const fileUri = `${FileSystem.documentDirectory}/pdf.pdf`;
await FileSystem.writeAsStringAsync(fileUri, fr.result.split(',')[1], { encoding: FileSystem.EncodingType.Base64 });
Sharing.shareAsync(fileUri);
};
fr.readAsDataURL(response.data);
【讨论】: