【ant,前端】上传附件,下载附件,删除附件

<template>
  <div>
    <a-upload
      accept=".doc, .docx, .pdf"
      :multiple="true"
      v-model:loadList="loadList"
      :show-upload-list="false"
      :custom-request="uploadContractFile"
    >
      <a-button type="primary">
        <template #icon><cloud-upload-outlined /></template><span>上传附件</span>
      </a-button>
      <span style="margin-left: 20px">请上传".doc, .docx, .pdf"的文件</span>
    </a-upload>
    <div style="display: flex;justify-content: start;margin-top: 10px;" v-show="loadList.length" v-for="(item, index) in loadList" :key="item.id">
      <div>{{item.name}}</div>
      <a href="#" @click="downloadFile(item)"  style="margin:0px 20px"><a-spin size="small" :spinning="loading"/>下载</a>
      <a-popconfirm title="确定要删除吗?" @confirm="delloadFile(index)">
        <a href="#">删除</a>
      </a-popconfirm>
    </div>
  </div>
</template>

<script>
//引入封装好的接口
import {ApplyApi} from "@/api/workflow/applyApi";

export default {
  name: 'uploadFile',
  props:{},
  data() {
    return {
      loading: false,
      loadList: []
    };
  },
  methods: {
    //上传附件
    async uploadContractFile(data) {
      let formData = new FormData();
      formData.append("file", data.file);
      formData.append("contractAttType", this.contractAttType);
      // 调后端接口
      await ApplyApi.getUpload(formData).then(res => {
        this.loadList.push(res.data);
      });
    },
    // 下载附件
    downloadFile(value) {
      this.loading=true;
      // 调后端接口
      ApplyApi.download(value).then(res => {
        let link = document.createElement('a');
        link.style.display = 'none';
        link.href =  window.URL.createObjectURL(new Blob([res.data]));
        link.setAttribute('download',
          decodeURIComponent(JSON.parse(res.headers['content-disposition'].split(";")[1].split("=")[1])));
        document.body.appendChild(link);
        link.click()
        this.loading=false
        this.$message.success("文件下载成功");
      }).catch(err=>{
        console.log(err)
        this.$message.error("文件下载失败");
        this.loading=false
      })
      ;
    },
    // 删除附件
    delloadFile(index) {
      this.loadList.splice(index, 1);
      this.$message.success("删除成功");
      this.$emit('change');
    },
  }
};
</script>

<style scoped>
</style>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装说明:(一) 运行环境需求: PHP(二) 安装方法:★★★ data/data 文件夹上传可能会跳过 重新上传下 data就可以了!或新建一个data文件夹 ★★★1.全新安装(1) 文件上传: 将目录中的全部文件上传到服务器。(2) 设置目录和文件可写属性。(如果您的服务器使用 Windows 操作系统,可跳过这一步)确认以下目录或文件属性为 (777) 可写模式。data                         --- 777   目录  注意此目录下的所有文件都要设置为 777Ad                         --- 777   目录  注意此目录下的所有文件都要设置为 777adminuser                 --- 777   目录data                  --- 777   目录user                    --- 777   目录  注意此目录下的所有文件都要设置为 777upload                   --- 777   目录  注意此目录下的所有文件都要设置为 777  template                  --- 777   目录inc/config.php          --- 777   文件 install.php          --- 777   文件(3) 访问安装向导进行安装在浏览器中运行 install.php,即访问 http://您的域名/a77down/install.php,填入相关信息和管理员帐号 默认管理员admin 密码admin(4) 进入后台设置系统参数用安装时设置的用户名和密码进入系统管理后台,进入“超级管理员选项”——“系统参数设置”,按照自己的情况设置相应参数,完成最后的安装。  注:安装成功后,如果系统没有自动删除 install.php 安装文件,请用ftp手动删除,以避免被再次安装。(5) 修改网站文件以及参数logo文件夹为网站logo文件夹,修改里面的logo.gif即可更改成自己的LOGO标志。Ad文件夹为广告文件夹,修改里面的JS文件即可替换相应的广告!1207654183.js 会员相关页的右侧广告1419387488.js 内容页的右侧广告banner文件夹为banner广告文件夹,直接修改里面的图片即可。此时您的网站已经焕然一新!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值