You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中如何将Base64字符串下载为PDF文件

将Base64字符串转换为PDF并下载(无需fetch)

既然你已经预先获取到了Base64格式的PDF数据,直接用浏览器原生API就能实现下载,完全不需要fetch。以下是可直接使用的实现代码:

function downloadBase64AsPDF(base64String, fileName = "document.pdf") {
  // 移除Base64字符串的PDF类型前缀(如果存在)
  const pureBase64 = base64String.replace(/^data:application\/pdf;base64,/, "");
  
  // 解码Base64为二进制数组
  const decodedChars = atob(pureBase64);
  const byteArray = new Uint8Array(decodedChars.length);
  for (let i = 0; i < decodedChars.length; i++) {
    byteArray[i] = decodedChars.charCodeAt(i);
  }
  
  // 创建PDF Blob对象
  const pdfBlob = new Blob([byteArray], { type: "application/pdf" });
  
  // 生成临时下载链接并触发下载
  const downloadUrl = URL.createObjectURL(pdfBlob);
  const link = document.createElement("a");
  link.href = downloadUrl;
  link.download = fileName;
  document.body.appendChild(link);
  link.click();
  
  // 清理临时资源
  document.body.removeChild(link);
  URL.revokeObjectURL(downloadUrl);
}

// 调用示例:替换成你已有的Base64数据
const pdfBase64Data = "这里替换成你的Base64字符串";
downloadBase64AsPDF(pdfBase64Data, "自定义文件名.pdf");

关键说明:

  • 前缀处理:如果你的Base64字符串开头带有data:application/pdf;base64,,代码会自动移除,确保解码正常
  • 内存清理:下载完成后会主动销毁临时DOM元素和URL对象,避免浏览器内存占用过高
  • 兼容性:支持所有现代浏览器,无需额外依赖库

内容的提问来源于stack exchange,提问作者Abdul_Al Joboyer-chy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:25:23