当前位置: 首页 > wzjs >正文

嘉兴做网站赚钱么贵州百度竞价网页设计

嘉兴做网站赚钱么,贵州百度竞价网页设计,网站维护和建设工作范围,网站空间备案要多久处理步骤 从服务返回的字符串中提取文件流数据&#xff0c;可能是Base64或二进制。将数据转换为Blob对象。创建对象URL。创建<a>元素&#xff0c;设置href和download属性。触发点击事件以下载文件。删除缓存数据 代码 // 假设这是从服务返回的Base64字符串&#xff08…

处理步骤

  1. 从服务返回的字符串中提取文件流数据,可能是Base64或二进制。
  2. 将数据转换为Blob对象。
  3. 创建对象URL。
  4. 创建<a>元素,设置href和download属性。
  5. 触发点击事件以下载文件。
  6. 删除缓存数据

代码

// 假设这是从服务返回的Base64字符串(包含MIME类型前缀)
const base64PDF = 'data:application/pdf;base64,JVBERi0xLjQKJd...'; // 你的实际数据
// const base64PDF2 = 'JVBERi0xLjQKJd...'; // 你的实际数据,没有前缀的数据
function downloadPDF(base64Data, fileName) {// 创建Blob对象const byteCharacters = atob(base64Data.split(',')[1]);
//  const byteCharacters = atob(base64Data2); -- 处理没有前缀的数据const byteNumbers = new Array(byteCharacters.length);for (let i = 0; i < byteCharacters.length; i++) {byteNumbers[i] = byteCharacters.charCodeAt(i);}const byteArray = new Uint8Array(byteNumbers);const blob = new Blob([byteArray], { type: 'application/pdf' });// 创建临时链接const link = document.createElement('a');link.href = URL.createObjectURL(blob);link.download = fileName || 'document.pdf'; // 设置默认文件名// 触发下载document.body.appendChild(link);link.click();// 清理资源document.body.removeChild(link);URL.revokeObjectURL(link.href);
}// 使用示例
downloadPDF(base64PDF, 'my_file.pdf');

关键点说明:

1数据格式处理:

  • 如果返回的是纯Base64字符串(不含MIME类型前缀),需要先添加前缀:
  • 不含MIME类型前缀,也可以去掉切割字符串部分
const completeBase64 = 'data:application/pdf;base64,' + yourBase64String;

2二进制转换:

  • 使用atob()解码Base64字符串
  • 通过charCodeAt()转换为字节数组
  • 使用Uint8Array创建类型化数组

3文件生成:

  • 通过Blob构造函数创建文件对象
  • 使用URL.createObjectURL()生成临时下载链接

4下载触发:

  • 创建虚拟<a>标签并设置download属性
  • 通过click()事件触发下载

注意事项:

  1. 确保服务返回的确实是有效的PDF文件流
  2. 大文件处理建议使用流式处理(本方案适用于中小文件)
  3. 浏览器兼容性:支持所有现代浏览器(IE11+)
  4. 文件名编码问题:如果文件名含中文等特殊字符,需要:
link.download = encodeURIComponent(fileName);

扩展建议:

  • 如果需要显示PDF预览,可以使用<iframe>或PDF.js库
  • 对于非Base64的二进制流,可以直接使用new Blob([responseData])
  • 添加加载状态提示和错误处理机制

根据你的实际数据格式(Base64/二进制流),选择对应的处理方式即可实现文件下载功能。

http://www.dtcms.com/wzjs/556833.html

相关文章:

  • 自己做网站 发布视频wordpress主题 外贸
  • 做it的网站有哪些网网站开发站制作公司
  • 网页设计与制作工作山东搜索引擎优化
  • 做户外旅游网站网站建设 佛山
  • 东莞专业网站制作设计html简单百度网页代码
  • 营销型网站建设市场软件培训哪家好
  • 网站建设计划 文库百度分享代码 wordpress
  • 做网站需要了解什么东西网站开发工资咋样
  • 网站建设与管理读后感专业做网站优化
  • 自己写的网站怎么发布设计网站制
  • 网站做优化公司345诛仙网站是谁做的
  • 做网站需要什么执照免费自助建站哪个平台好
  • 邢台地区网站建设服务周到985建设网站
  • 网站程上传新手做网站流程
  • 广州公司注册无地址aso优化渠道
  • 网站开发费用税南宁刚刚发生的事
  • 新浪云怎么做自己的网站网站建设报价模板下载
  • 网站开发前景与趋势如何服务商平台登陆
  • 网站下载软件怎么安装宝安网站建设哪家便宜
  • 网站优化是往新闻中心发新闻吗检测网站开发语言工具
  • 建一个团购网站要多少钱关于用户网站建设的论文
  • 做rom的网站科技设计网站
  • 临沂做四维和美家网站怎么开小程序店铺
  • 浙江商会网站建设策划方案深圳app制作公司
  • 重庆有多少网站wordpress自带站内搜索功能
  • 有哪些做平面设计好素材网站有哪些wordpress 经典推荐
  • 爱站网长尾挖掘工具wordpress官网app
  • 男的和女的做那个视频网站彩票网站开发系统如何搭建
  • 网站开发具体步骤代做电子商务网站作业
  • 济南企业网站制申泽seo