<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
公司的開發框架整合了附件本地儲存,阿里雲,華為雲等,現專案有要求附件儲存與應用部署環境不能是同一臺伺服器,也不能使用雲端儲存,經過技術選型後決定框架整合minio,將minio部署在另一臺伺服器開通外網埠即可解決問題
下載minio安裝部署包,建立對應組態檔,這裡提供一個整合後的壓縮包
下載地址:http://xiazai.jb51.net/202204/yuanma/minio_jb51.rar
建立minioData資料夾作為檔案儲存路徑,解壓安裝包根據放置路徑修改對應組態檔檔案
minio-service.xml和run.bat
<service> <id>minio</id> <name>MinIO Service</name> <description>MinIO is a High Performance Object Storage</description> <logpath>D:miniologs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>D:miniorun.bat</executable> </service>
set MINIO_ACCESS_KEY=admin set MINIO_SECRET_KEY=abcd@1234 minio.exe server -address :9999 D:minioData
解壓部署包後cmd進入對應解壓路徑,輸入命令minio.exe server D:minioData 初始化後關閉cmd命令
使用服務安裝工具安裝服務,選擇minio-service.exe
windows服務安裝工具下載地址:http://xiazai.jb51.net/202204/yuanma/windowsfuwu_jb51.rar
啟動服務後存取 http://127.0.0.1:9999/
使用者名稱:admin 密碼:abcd@1234 (埠及賬戶密碼都是在run.bat檔案中設定的)
進入系統建立bucket用於儲存檔案(類似於阿里雲)
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>7.1.0</version> </dependency>
這裡分別設定上傳/下載地址是正式專案可能設定外網埠後,伺服器中不能存取對應的外網埠,上傳走內網,下載走外網
#minio設定 # 上傳地址 minio_uploadurl: http://192.168.1.42:9999/ # 下載地址 minio_downloadurl: http://192.168.1.42:9999/ # 賬戶 minio_accesskey: admin # 密碼 minio_secrectkey: abcd@1234 # 儲存資料夾 minio_bucknetname: xxx
public MinioClient InitMinio() { MinioClient minioClient = MinioClient.builder(). endpoint(frameConfig.getMinio_uploadurl()). credentials(frameConfig.getMinio_accesskey(),frameConfig.getMinio_secrectkey()).build(); try{ boolean isExist = minioClient.bucketExists(frameConfig.getMinio_bucknetname()); if (!isExist) { minioClient.makeBucket(frameConfig.getMinio_bucknetname()); } }catch (Exception e){ e.printStackTrace(); } return minioClient; }
getkey方法只是指定對應的自定義儲存路徑
指定content-type是為了瀏覽器能開啟附件時,圖片和pdf等檔案能夠線上瀏覽
不指定預設都是stream,開啟檔案統一為下載
public boolean uploadMinioFile(InputStream stream, AttachmentDO attachmentDO,String contentType){ boolean result = true; try{ MinioClient minioClient = InitMinio(); String bucketName =frameConfig.getMinio_bucknetname(); PutObjectOptions option = new PutObjectOptions(stream.available(), -1); option.setContentType(contentType); minioClient.putObject(bucketName,getKey(attachmentDO),stream,option); }catch (Exception e){ logger.error("Minio上傳檔案失敗:" + e.getMessage()); result = false; } return result; }
需要注意的是,生成的檔案下載地址是和MinioClient中指定的伺服器地址繫結的,使用nginx代理後是無效的
public String readMinioCommonFile(AttachmentDO attachmentDO){ String fileurl = ""; try{ MinioClient minioClient = InitMinio(); String bucketName =frameConfig.getMinio_bucknetname(); return minioClient.presignedGetObject(bucketName, getKey(attachmentDO)); }catch (Exception e){ logger.error("Minio讀取檔案失敗:" + e.getMessage()); } return fileurl; }
public boolean deleteMinioFile(AttachmentDO attachmentDO){ boolean result = true; try{ MinioClient minioClient = InitMinio(); String bucketName =frameConfig.getMinio_bucknetname(); minioClient.removeObject(bucketName,getKey(attachmentDO)); }catch (Exception e){ logger.error("Minio刪除檔案失敗:" + e.getMessage()); result = false; } return result; }
到此這篇關於SpringBoot中整合Minio檔案儲存的安裝部署過程的文章就介紹到這了,更多相關SpringBoot整合Minio檔案儲存內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45