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

java 文件预览_自建MinIO对象存储(三):上传、下载、预览

1.网页直传

我的前端工程是VUE的独立工程的,这里我介绍minio-sdk直传和AWS-SDK直传两种方式

首先导入sdk包:

4d2e5b5482fc080902c660f6be4738ec.png

Minio-sdk直传

0a27a5f30789f059998948e062d5f5c9.png

Minio-sdk官方提供两种上传对象方法

513b23f983444997e86c798b213a8375.png

由于浏览器限制无法获取磁盘文件的绝对路径,所以我不使用这种方法,

272ab320986bfa3c43c72675185d8d6f.png

官网这个接口是有问题的,第5个参数传入contentType是无效的,实际上需要传入metaData才有用。

AWS-SDK直传

3518d3d0378c698243e5d9b16da386a8.png
307d0110fa44fd34c8d31a56285efa0e.png

不过使用AWS-SDK直传需要服务器采用https协议才行,不然会报SignatureDoesNotMatch错误

d5eccaba128800450618de022befa470.png

2 AWS预签名上传(Java)

生成预签名URL

852ba134a4ce87a5d890e82760231ff2.png

使用预签名URL上传文件

c9571a555e2371283c2147961db462bf.png

3.Java-SDK上传

Mini-SDK上传

677a9b566508bf51c49243567d5725f9.png

AWS-SDK上传

083d1651cdba3c6feb4961526ff20dee.png

4.文件预览下载

生成预览下载地址

90ea57fdee4b72847bd23489aa4dbca3.png

如果上传到minio的文件有设置metadata,图片、视频等文件就可以直接在浏览器预览,也可以直接用这个url直接下载文件,这个url是带有过期时间。

相关文章:

  • js内置对象_JS 原型与原型链
  • 交叉验证python代码_python机器学习,交叉验证
  • onvif摄像头软件_海康POE录像机添加POE网络摄像头
  • python给两个列表排序方法_对python实现合并两个排序链表的方法详解
  • python opencv压缩图片_OpenCV Python 缩放图片
  • mac cad石材填充图案_这些石材装饰细节处理,你做到位了吗?
  • python逻辑_python逻辑题
  • python语言求素数_用python判断一个数是否是素数的方法
  • 统计高于平均分的人数python_python3 下载 以及 练习1
  • cv::imread导致段错误_OGG启动报错:不能创建共享内存段
  • opengl场景代码_实战篇使用Native OpenGL渲染Unity场景
  • python中dtype是object是什么意思_python – Pandas:将dtype’object’转换为int
  • 人脸比对软件_开源推荐 | 可实现门禁、AI测温敏捷开发的人脸识别应用套件
  • coursera python证书_IBM数据科学证书 | 你想要的一站式新手入门课!
  • 前后端分离项目如何部署_利用dockercompsoe部署前后端分离的项目
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 2017 前端面试准备 - 收藏集 - 掘金
  • 345-反转字符串中的元音字母
  • CEF与代理
  • Github访问慢解决办法
  • LintCode 31. partitionArray 数组划分
  • Linux后台研发超实用命令总结
  • Next.js之基础概念(二)
  • Redis在Web项目中的应用与实践
  • SpiderData 2019年2月16日 DApp数据排行榜
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Sublime text 3 3103 注册码
  • TCP拥塞控制
  • zookeeper系列(七)实战分布式命名服务
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 离散点最小(凸)包围边界查找
  • 怎样选择前端框架
  • 阿里云服务器如何修改远程端口?
  • ​低代码平台的核心价值与优势
  • ​力扣解法汇总946-验证栈序列
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $.each()与$(selector).each()
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (过滤器)Filter和(监听器)listener
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)JAVA中的堆栈
  • (转)Scala的“=”符号简介
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET Project Open Day(2011.11.13)
  • .NET 发展历程
  • .net 中viewstate的原理和使用
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net的DataSet直接与SQL2005交互
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • /proc/interrupts 和 /proc/stat 查看中断的情况