vue+elementui+minio实现前端直接上传文件到minio服务端存储

本文介绍了如何使用Vue和Element UI框架配合Minio服务,实现在前端页面直接选择并上传文件,包括文件类型限制、上传过程和成功/失败提示。通过实例代码展示了如何进行文件预处理、上传操作以及下载链接的获取。

vue+elementui+minio实现前端直接上传文件到minio服务端存储
呈现如下图:
在这里插入图片描述

实现方法

<template>
  <div class="minioBox">
    <el-button style="marginRight:10px;" @click="getFileName" size="mini" type="success">选择文件</el-button>
    <input type="file" multiple="multiple" id="minIoFile" ref="minIoFile" v-show="false" @change="getFile">
    <el-button v-if="fileList.length>0" style="marginRight:10px;" @click="upload" size="mini" type="success">上传</el-button>
    <ul class="uploadFileList">
      <li v-for="item,index of fileList" :key="index">
        <span class="subString">{
  
  {item.name}}</span>&nbsp;
        <span>({
  
  {(item.size/1024/1024).toFixed(5)}}M)</span>
        <div class="floatRight" style="float: right;">
          <i class="el-icon-close" style="cursor: pointer;" @click="deleteMinioFile(index)"></i>
        </div>
      </li>
    </ul>
    <ul>
      <li v-for="item,index of urlList" :key="index">
        <span @click="downLoad(item.url,item.name)">{
  
  {item.name}}-----</span>
      </li>
    </ul>
  </div>
</template>
<script>

let Minio = require('minio')
let stream = require('stream')
//连接minio文件服务器
var minioClient = new Minio.Client({
    endPoint: '***',   //对象存储服务的URL
    port: 9000,//端口号
    useSSL: false,   //true代表使用HTTPS
    accessKey: '***',   //账户id
    secretKey: '***',   //密码
    partSize: '50M'
});
//上边这块需要注意,放上minio的账号密码,存储服务器url(容易出错,格式如192.168.5.30,不要多写),以及端口号
export default {
  data(){
    return{
      fileList:[],
      urlList:[]
    }
  },
  methods: {
     downLoad(filename,names){//下载模板

      var x=new XMLHttpRequest();
      var resourceUrl = filename
      x.open("GET", resourceUrl, true);
      x.responseType = 'blob';
      x.onload=function(e){
        // ie10+
        if (navigator.msSaveBlob) {
          var name = resourceUrl.substr(resourceUrl.last
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值