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

【前端】js下载文件(mp4视频图片pdf等) 而不是新窗口直接打开

【前端】js下载 文件(mp4视频图片pdf等) 而不是新窗口直接打开

不打开新窗口进行下载

function download(res) {
var elemIF = document.createElement("iframe");
elemIF.src = res;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}


window.open(url, '_blank');


a标签
const ele = document.createElement('a'); //新建一个a标签
ele.setAttribute('href', url);
ele.click();


blob
fetch(url).then((res) =>
res.blob().then((blob) => {
var a = document.createElement('a');
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = name; // 下载名称
a.click();
window.URL.revokeObjectURL(url);
})
);

点击下载 而不是新窗口 打开

<!DOCTYPE html> <html> <head> <title>视频下载</title> <script src="https:0.min.js"></script> </head> <body> <h1>视频下载</h1> <button onclick="downloadVideo()">下载视频</button> <script> function downloadVideo() { var videoUrl = "https://xxx.com//out/aaa.mp4"; // 替换为你要下载的视频的URL var fileName = "video.mp4"; // 下载的文件名 // 创建一个隐藏的a标签 var a = document.createElement('a'); a.style.display = 'none'; document.body.appendChild(a); // 使用XMLHttpRequest下载视频 var xhr = new XMLHttpRequest(); xhr.open('GET', videoUrl, true); xhr.responseType = 'blob'; xhr.onload = function() { if (xhr.status === 200) { // 将视频Blob对象创建一个临时URL var videoBlob = xhr.response; var url = window.URL.createObjectURL(videoBlob); // 设置a标签的属性,并触发点击事件进行下载 a.href = url; a.download = fileName; a.click(); // 释放URL对象 window.URL.revokeObjectURL(url); } }; xhr.send(); } </script> </body> </html>
http://www.jsqmd.com/news/962583/

相关文章:

  • C语言整数溢出警告解析:宏定义、类型推断与嵌入式安全实践
  • 实时数字人部署实战:3大策略解决音视频同步与性能瓶颈
  • 028、Zephyr RTOS设备树实战:I2C配置
  • 终极指南:如何在macOS上轻松制作Windows启动盘?WinDiskWriter让你零门槛搞定!
  • 高频开关电源变压器设计:从原理到实践,突破调参瓶颈
  • Transformers 训练模型持久化与推理加载全流程详解
  • 基于Git Hook的代码质量防线:Commit前自动格式化+静态扫描
  • SideJITServer:iOS 17无线JIT编译的终极解决方案
  • uesave:5分钟掌握虚幻引擎游戏存档编辑,解锁无限游戏可能
  • OpenRocket火箭仿真软件:开源模型火箭设计与飞行分析技术工具
  • 3分钟搞定!Mac用户的Windows启动盘制作终极指南:WinDiskWriter完全教程
  • Sketch MeaXure:设计师必备的智能标注插件,让设计交付效率提升300%
  • 2026甄选:江西电大中专报名与成人高考函授报考正规品牌机构解析 - 品牌企业推荐师(官方)
  • 鸿蒙 App 集成 AI 助手:架构设计 + 实战代码
  • 2026无锡黄金回收权威行情解读,龙头品牌领先实操攻略 - 奢侈品回收评测
  • 如何永久保存微信聊天记录:WeChatMsg完整备份与导出指南
  • 【实战|附源码】PHP搭建DCS分布式控制系统:工业监控后台完整实现方案
  • 网盘直链下载助手LinkSwift:免费获取九大网盘真实下载地址的终极指南
  • Video2X 6.0.0:免费AI视频放大神器,让模糊视频重获新生
  • 如何快速上手Flashtool:索尼Xperia设备刷机终极指南
  • Arduino CNC运动控制固件包:GRBL源码+编译配置+全功能模块
  • 3分钟搞定AI视频创作:Auto-Video-Generator终极快速上手指南
  • Simple Live终极指南:跨平台直播聚合应用,一站式观看所有热门直播
  • 实战应用:基于快马平台构建企业级西电b测解决方案
  • 从《西游记》看技术团队管理:唐僧为何是领导?
  • 3D打印切片终极指南:如何用Slic3r轻松将创意变为现实 [特殊字符]
  • 晶振电路电阻选型:从巴克豪森准则到实战调试的深度解析
  • 3层架构深度优化:Win11Debloat如何重构Windows 11用户体验
  • 安卓虚拟摄像头终极配置指南:5分钟快速上手Xposed模块
  • 半导体成本解析与代理商谈判实战:从PN结到芯片价格的工程师指南