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

2024-04-18 0 610

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(\”上传失败,请重新上传!\”);
}
});
}

//获取上传的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文件服务器的文章就介绍到这了,更多相关Vue3上传文件到minio文件服务器内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • vue 实现剪裁图片并上传服务器功能
  • Vue 图片压缩并上传至服务器功能
  • 使用vue打包进行云服务器上传的问题

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 JavaScript 纯前端使用Vue3上传文件到minio文件服务器(粘贴可直接用) https://www.u-9.cn/biancheng/javascript/186613.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务