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

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

一、准备工作

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

二、文件展示

1、获取附件列表

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

javascript 复制代码
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,展示附件名称和下载按钮:

html 复制代码
<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方法,用于修改文件名并触发下载:

javascript 复制代码
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方法:

html 复制代码
<button @click="downloadFile(file.url, file.name)">下载</button>

四、总结

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

相关推荐
会飞的战斗鸡4 分钟前
JS中的链表(含leetcode例题)
javascript·leetcode·链表
方也_arkling38 分钟前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐40 分钟前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
qq_177767371 小时前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_177767371 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
web打印社区1 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
RFCEO1 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素
烬头88212 小时前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos
Amumu121382 小时前
Vuex介绍
前端·javascript·vue.js
We་ct2 小时前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript