当前位置: 首页 > news >正文

MinIo纯前端使用文件上传预览

MinIo使用问题记录

  • 一、前端直接调用minio上传预览
        • 1. 直接安装依赖
        • 2. 使用完整代码
  • 二、关于上传图片后不能预览
    • 安装依赖和启动问题(如下上传成功之后返回的地址预览失败)
      • 解决方法:
        • 1. 线确认已经有预览权限
        • 2. 点击一个图片查看图片格式
        • 3. 查看返回地址

一、前端直接调用minio上传预览

1. 直接安装依赖
npm install minio
npm install --save mockjs
2. 使用完整代码
import { Minio } from "minio-js";
export function client() {const client = new Minio.Client({endPoint: '', // 例如: 'localhost' 或 'minio.yourdomain.com'port: 9000, // MinIO 默认端口useSSL: false, // 如果是 https 则设为 trueaccessKey: '', // 相当于 accessKeyIdsecretKey: '', // 相当于 accessKeySecret})console.log('测试',client)// 返回兼容 OSS API 的包装对象return client
}
//这里是引入了上边那个js文件后的使用逻辑client().presignedPutObject("",//桶名称fileName,//文件名称,这里可以直接用element文件上传组件获取1000 * 60 * 5,//URL有效期function (err, presignedUrl) {//错误的回调方法if (err) return console.log(err);console.log('获取地址',file.file)fetch(presignedUrl, {mode: "cors", // 解决跨域headers: {'Content-Type': 'image/jpeg'  // 明确设置 MIME 类型},method: "PUT",body: file.file,//data就是文件对象这里可以直接用element文件上传组件获取}).then((response) => {if (response.ok) {// 处理成功的情况console.log('上传成功',response)let value = "http://192.168.2.139:9000/pujiang/"+fileName;//这个是预览地址 直接返回的应该是下载地址console.log(value, 'value',fileName)} else {// 处理失败的情况}});})

二、关于上传图片后不能预览

安装依赖和启动问题(如下上传成功之后返回的地址预览失败)

在这里插入图片描述

解决方法:

1. 线确认已经有预览权限

在这里插入图片描述

2. 点击一个图片查看图片格式

在这里插入图片描述
如果不是image/jpeg格式看下上传时候请求头设置
在这里插入图片描述

3. 查看返回地址

一般直接返回的地址是:

http://域名:9000/pujiang/image/banner1761553934000.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=JLvsvtCqfWn9DikgOtDG%2F20251027%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251027T083214Z&X-Amz-Expires=300000&X-Amz-SignedHeaders=host&X-Amz-Signature=fba208e626b3d0bf86a572d124561aa3c31a438cbe4d63d01014355425229bf4

重新拼接成预览地址

http://域名:9000/pujiang/image"+'banner1761553934000.jpg'
http://www.dtcms.com/a/537300.html

相关文章:

  • 学习记录-package.json的scripts添加参数的方式有那些
  • 【前端】avue组件分页勾选
  • 个人网站主页设计模板台州建网站
  • 修改网站主目录的位置云闪付当前页面设计隐私
  • 计算机图形学:【Games101】学习笔记02——变换(二维与三维、模型、视图、投影)
  • 解码固相萃取仪:如何实现复杂样品前处理的高效与重现性
  • Easyx图形库应用(直接显存操作)
  • 网站翻书效果网站建设费用 会计分录
  • Langchain从零开始到应用落地案例[AI智能助手]【4】---优化ocr识别编写,实现按文件类型进行调用识别
  • 如何添加网站logo天津网站定制公司
  • 做网站需要规划哪些内容南宁网站seo大概多少钱
  • 第15天:网络基础与故障排除
  • confluence or 语雀 or sward,知识管理工具一文全方位对比
  • 易语言中函数参数“参考”的基本概念
  • 阿里巴巴国际站的前台网址是西安美食网页设计
  • 制作网站需要怎么做苏州注册公司流程和步骤
  • 云栖实录 | 驰骋在数据洪流上:Flink+Hologres驱动零跑科技实时计算的应用与实践
  • 基层建设是哪个网站的工作总结及工作计划
  • 网站开发学习网站ui设计怎么自学
  • 整站优化工具wordpress joonla安全
  • 在Linux下循环创建N个子进程的实现与解析
  • Spring AI Alibaba 基于JWT的鉴权登录系统实现详解
  • 软件测试(五)--自动化测试Selenium(一)
  • 网站项目开发网站菜单导航制作教程
  • 兰州最好的网站建设公司青岛网站优化排名
  • 某汽车公司4S店携手Acrel-5000建筑能耗管理系统,实现连锁门店能源精细化管理新突破
  • LeetCode 刷题【135. 分发糖果】
  • 专业做网站建设的网站内页产品 首页推荐
  • TCP 流通信中的 EOFException 与 JSON 半包问题解析
  • Garnet技术深度解析:微软研究院出品的高性能缓存存储引擎