跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 工具系统 > 其他工具 > 纯前端使用Vue3上传文件到minio文件服务器,粘贴直接可用

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

时间:2024-04-03 15:25:36 来源:网络cs 作者:康由 栏目:其他工具 阅读:

标签: 文件  服务  粘贴  直接  使用 

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

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("上传失败,请重新上传!");    }  });}//获取上传的URLminioClient.presignedPutObject(    bucketName,//桶名称    fileName,//文件名称    1000 * 60 * 5,//URL有效期    function (err, presignedUrl) {//错误的回调方法      if (err) return console.log(err);      let url = presignedUrl;      uploadByUrl(url, fileObj.value);    }  );

本文链接:https://www.kjpai.cn/news/2024-04-03/153362.html,文章来源:网络cs,作者:康由,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论