纯前端使用Vue3上传文件到minio文件服务器,粘贴直接可用

这篇具有很好参考价值的文章主要介绍了纯前端使用Vue3上传文件到minio文件服务器,粘贴直接可用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、首先安装minio的插件,因为我使用的vue3,不支持模块化的导入,所以我们使用一个别人写好的vue2的包

npm install --save minio-js    

2、在需要上传文件的页面导入这个包

import { Minio } from "minio-js";

3、创建一个minio的客户端

 minioClient = new Minio.Client({
      endPoint: '192.168.1.111', // minio的ip,直接替换自己的即可
      port: 9000, // 端口号,若地址为类似test.minio.com,就不必写端口号
      useSSL: false, // 是否使用ssl
      accessKey: accessKey, // 登录的accessKey
      secretKey: secretKey,
      sessionToken: token,
    });

这里说明一下,accessKey、secretKey、sessionToken都是通过接口获取到的临时凭证

4、通过带预签名的url上传,首先我们需要获取到这个url,minioAPI提供了, minioClient.presignedPutObject可以获取带签名的URL文章来源地址https://www.toymoban.com/news/detail-848143.html

function uploadByUrl(url, data) {
  loadding.value = true;
  return fetch(url, {
    mode: "cors", // 解决跨域
    headers: {
      Accept: "application/json,text/plain,/",
    },
    method: "PUT",
    body: data,//data就是文件对象
  }).then((response) => {
    if (response.ok) {
      // 处理成功的情况
      loadding.value = false;
      proxy.$modal.msgSuccess("上传成功");
    } else {
      // 处理失败的情况
      proxy.$refs["my-upload"].clearFiles();
      throw new Error("上传失败,请重新上传!");
    }
  });
}

//获取上传的URL
minioClient.presignedPutObject(
    bucketName,//桶名称
    fileName,//文件名称
    1000 * 60 * 5,//URL有效期
    function (err, presignedUrl) {//错误的回调方法
      if (err) return console.log(err);
      let url = presignedUrl;
      uploadByUrl(url, fileObj.value);
    }
  );

到了这里,关于纯前端使用Vue3上传文件到minio文件服务器,粘贴直接可用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【minio】Ubuntu安装MinIO文件服务器并通过C++上传下载

    【minio】Ubuntu安装MinIO文件服务器并通过C++上传下载

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍MinIO的使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 MinIO是一种高性能、可扩展的 对象存储服务 ,它可以在私有云、公共云和边缘计

    2024年02月08日
    浏览(7)
  • vue3 - element-plus 上传各种 word pdf 文件、图片视频并上传到服务器功能效果,示例代码开箱即用。

    vue3 - element-plus 上传各种 word pdf 文件、图片视频并上传到服务器功能效果,示例代码开箱即用。

    在 vue3 项目中,使用 element plus 组件库的 el-upload 上传组件,进行文件、图片图像的上传功能示例。 可直接复制,再改个接口地址。 在这里上传

    2024年02月15日
    浏览(19)
  • MINIO服务器基于AWS S3 SDK 文件分片上传及下载(C++实现)

    MINIO服务器基于AWS S3 SDK 文件分片上传及下载(C++实现)

    安装环境依赖: 获取SDK源码并安装: 项目中CMakeLists.txt配置: SDK文档资料 C++_SDK.pdf 实现下载的整体类代码下载 具体内容如下

    2024年04月10日
    浏览(26)
  • 前端mqtt的详细使用(包含mqtt服务器部署,前端vue3使用mqtt连接、订阅主题、发布等)

    前端mqtt的详细使用(包含mqtt服务器部署,前端vue3使用mqtt连接、订阅主题、发布等)

    ​ MQTT(消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。MQTT 协议的应用场景包括物联网、移动应用、车联网、智能

    2024年02月08日
    浏览(10)
  • 【vue3】前端应用中使用WebSocket与服务器进行通信并管理连接状态。

    1、写一个hook函数 url 是WebSocket的服务器地址,其中 Math.random() 用于生成一个随机数,以避免缓存问题。 onConnected 、 onDisconnected 和 onError 是连接建立、断开和出错时的回调函数,你可以根据实际需求来定义它们。 onMessageDefault 是当接收到消息时的默认处理函数,在这里将接收

    2024年02月09日
    浏览(11)
  • MinIO文件服务器,从安装到使用

    MinIO文件服务器,从安装到使用

    以往的项目,用的比较多的OSS服务是腾讯云和阿里云的存储服务,不过从去年到今年,最近的几个项目,普遍要使用Minio,所以我在开发服务器和测试服务器上都装上了minio 一、首先minio的安装 MInIO的安装有很多方法、单实例的、集群分布式的、docker部署的、支持k8s的,我们使

    2024年02月06日
    浏览(7)
  • 后端“fastapi”+前端“vue3+ts+ElementPlus”上传文件到uploads目录

    后端“fastapi”+前端“vue3+ts+ElementPlus”上传文件到uploads目录

    确保已安装好python3和fastapi mail.py 运行fastapi服务器 使用浏览器访问 http://127.0.0.1:8000/http://127.0.0.1:8000/docs 确保已安装node.js和yarn 使用vite初始化前端目录  安装element-plus main.ts中导入element-plus  修改vite.config.ts配置“CORS 跨域” 修改App.vue 运行 使用浏览器访问 http://127.0.0.1:70

    2024年02月22日
    浏览(12)
  • .net6Api后台+VUE3前端实现上传和下载文件全过程

    .net6Api后台+VUE3前端实现上传和下载文件全过程

    首先本文参考的是,感谢博主: net6WebApi上传下载文件_cduoa的博客-CSDN博客_webapi下载文件 在博主的基础上,增加了新的功能,代码中有注明,并且使用VUE3前端实现。 后端部分: 1.首先建立IFileService文件 2.建立FileService文件 3.增加FileController文件 4.Program文件中,进行配置和跨域

    2023年04月09日
    浏览(11)
  • minio文件服务器-docker docker-compose 搭建部署以及使用大全

    minio文件服务器-docker docker-compose 搭建部署以及使用大全

    下载官网 简介 docker-compose 单机版安装 拉取镜像运行容器 docker-compose 搭建 minio 分布式对象存储 部署 官方推荐 docker-compose.yaml :下载地址 vim docker-compose.yml 接着创建 config目录 执行启动命令,看到各个节点 healthy 状态即成功 浏览器访问任意节点 web console ,进行简单配置,配

    2023年04月10日
    浏览(11)
  • Spring Cloud Feign MultipartFile文件上传踩坑之路(包含前端文件上传请求、后端文件保存到aliyun-oss文件服务器)

    Spring Cloud Feign MultipartFile文件上传踩坑之路(包含前端文件上传请求、后端文件保存到aliyun-oss文件服务器)

    文件上传组件用的是ant-design的a-upload组件,我的界面如下所示: 文件上传请求API: FileUtils.js 需要注意的只有FileUtils.js定义的uploadApi请求函数,其中 URL 为后端请求接口(“/imageConvert/upload”),文件上传方法必须定义为 POST ,在 headers 加入’Content-type’: ‘multipart/form-data’,后端

    2024年02月12日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包