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

Vue实战技巧:如何展示附件(PDF、MP4、Excel、Zip等)并修改名称下载

大家好,今天给大家分享一篇关于在Vue项目中展示附件(PDF、MP4、Excel、Zip等)并修改名称下载的教程。在实际开发过程中,这个功能非常实用,下面我们就一起来学习一下。

一、准备工作

首先,确保你的项目中已经安装了Vue和相关依赖。本文以Vue 2.x版本为例进行讲解。

二、文件展示

1、获取附件列表

假设我们有一个附件列表,存储在data中:

data() {
  return {
    fileList: [
      { name: '示例文档.pdf', url: 'http://example.com/pdf/1.pdf' },
      { name: '示例视频.mp4', url: 'http://example.com/video/1.mp4' },
      { name: '示例表格.xlsx', url: 'http://example.com/excel/1.xlsx' },
      { name: '示例压缩包.zip', url: 'http://example.com/zip/1.zip' }
    ]
  };
}

2、 展示附件列表

在模板中,我们可以使用v-for指令来遍历fileList,展示附件名称和下载按钮:

<ul>
  <li v-for="(file, index) in fileList" :key="index">
    <span>{{ file.name }}</span>
    <button @click="downloadFile(file.url, file.name)">下载</button>
  </li>
</ul>

三、修改文件名并下载

1、创建下载方法

在methods中,添加一个downloadFile方法,用于修改文件名并触发下载:

methods: {
  downloadFile(url, name) {
    // 弹出输入框,让用户输入新的文件名
    const newName = prompt('请输入新的文件名', name);
    if (newName) {
      // 创建a标签并设置下载属性
      const link = document.createElement('a');
      link.href = url;
      link.download = newName;
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
    }
  }
}

2、调用下载方法

在模板中的下载按钮绑定点击事件,调用downloadFile方法:

<button @click="downloadFile(file.url, file.name)">下载</button>

四、总结

通过以上步骤,我们实现了在Vue项目中展示附件(PDF、MP4、Excel、Zip等)并修改名称下载的功能。这个功能在实际开发中非常实用,希望本文能对大家有所帮助。如有疑问,欢迎在评论区留言交流。


http://www.kler.cn/a/417398.html

相关文章:

  • JS +CSS @keyframes fadeInUp 来定义载入动画
  • uniapp中的事件:v-on
  • Kafka知识体系
  • 【知识科普】github开源证书等级说明
  • 自定义类型: 结构体、枚举 、联合
  • Xilinx PCIe高速接口入门实战(一)
  • 在Java中使用Apache POI导入导出Excel(三)
  • 恶补英语初级第13天,《叙述客观事实》
  • Linux之信号的产生,保存,捕捉
  • 代码随想录算法训练营第五十九天|Day59 图论
  • 前端 时间格式占位符 学习
  • 汽车仪表板可识别安全气囊,安全带,ABS,邮箱,灯等多种告警参数,YOLO,VOC,COCO三种方式标记的数据集整理
  • Java学习,数据结构
  • Rumor Containment by Spreading Correct Information in Social Networks
  • 深度学习之Mask-R-CNN
  • npm-运行项目报错:A complete log of this run can be found .......npm-cache_logs\
  • ArkTs内外边距,边框,背景图,横纵布局模式
  • 自动驾驶目标检测融合全貌
  • Qt 无法连接MySQL数据库
  • NVR录像机汇聚管理EasyNVR多个NVR同时管理基于B/S架构的技术特点与能力应用
  • 父子通信以及Props的使用
  • Android studio 利用cmake编译和使用so文件
  • 【K230 CanMV】machine.FPIOA、Pin 与 GPIO 全解析
  • 自然语言处理基础之文本预处理
  • C/C++中的调用约定
  • 【开篇】.NET开源 ORM 框架 SqlSugar 系列