中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

揚州服務器租用seo成都培訓

揚州服務器租用,seo成都培訓,代做效果圖的網(wǎng)站,wordpress mycred漢化MinIO 是一種開源的對象存儲服務,它基于云原生架構構建,并提供了高性能、易于擴展和安全的存儲解決方案。 一.安裝和配置 MinIO 服務器 為了演示方便,本文采用Windows安裝 1.在官方網(wǎng)站下載MinIO 安裝文件,地址:ht…

MinIO 是一種開源的對象存儲服務,它基于云原生架構構建,并提供了高性能、易于擴展和安全的存儲解決方案。

一.安裝和配置 MinIO 服務器

為了演示方便,本文采用Windows安裝?

1.在官方網(wǎng)站下載MinIO 安裝文件,地址:https://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe;?

2.在minio.exe目錄下創(chuàng)建start.bat配置啟動文件:"D:\Java\MinIo"是服務啟動時文件存放的位置?

minio.exe server D:\Java\MinIo

3.雙擊minio.exe文件啟動

?

4.創(chuàng)建一個 Spring Boot 項目

????????1.創(chuàng)建一個 Spring Boot 項目

????????2.添加依賴,注意依賴版本

<!--文件上傳-->
<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version>
</dependency>
<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version>
</dependency><!--MinIO對象存儲-->
<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.4.3</version>
</dependency>
<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.8.1</version>
</dependency>

二.配置文件

? ? ? ? 1.yaml配置文件

#MinIO配置
minio:endpoint: http://127.0.0.01:9000 #連接地址accessKey: minioadmin#賬號 默認minioadminsecretKey: minioadmin#密碼 默認minioadminbucketName: contractfile #桶名 存放合同文件 桶名校驗規(guī)則:!name.matches("^[a-z0-9][a-z0-9\\.\\-]+[a-z0-9]$")

? ? ? ? ?2.配置類,用來連接Minio

@Data
@Configuration
@ConfigurationProperties(prefix = "minio")
public class MinioConfig {//連接地址private String endpoint;//賬號 默認minioadminprivate String accessKey;//密碼 默認minioadminprivate String secretKey;@Beanpublic MinioClient minioClient() {MinioClient minioClient = MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build();return minioClient;}}

? ? ? ? 3.工具類,用來操作文件

@Slf4j
@Component
public class MinioUtils {@Autowiredprivate MinioClient minioClient;@Value("${minio.bucketName}")private String bucketName;/*** 操作文件時先創(chuàng)建Bucket* 如果沒有Bucket則創(chuàng)建** @param bucketName*/@SneakyThrows(Exception.class)public void createBucket(String bucketName) {if (!bucketExists(bucketName)) {minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());}}/*** 判斷Bucket是否存在,true:存在,false:不存在** @param bucketName* @return*/@SneakyThrows(Exception.class)public boolean bucketExists(String bucketName) {return minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());}/*** 判斷文件是否存在** @param bucketName* @param fileRealName* @return*/public boolean isObjectExist(String bucketName, String fileRealName) {boolean exist = true;try {minioClient.statObject(StatObjectArgs.builder().bucket(bucketName).object(fileRealName).build());} catch (Exception e) {log.error("[Minio工具類]>>>> 判斷文件是否存在, 異常:", e);exist = false;}return exist;}/*** 使用MultipartFile進行文件上傳** @param bucketName   存儲桶* @param file         文件* @param fileRealName 文件名* @return 文件下載外鏈*/@SneakyThrows(Exception.class)public String uploadFile(String bucketName, MultipartFile file, String fileRealName) {createBucket(bucketName);InputStream inputStream = file.getInputStream();minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(fileRealName).contentType(file.getContentType()).stream(inputStream, inputStream.available(), -1).build());GetPresignedObjectUrlArgs args = GetPresignedObjectUrlArgs.builder().bucket(bucketName).object(fileRealName).method(Method.GET).build();return minioClient.getPresignedObjectUrl(args);}/*** 刪除文件** @param bucketName   存儲桶* @param fileRealName 文件名稱*/@SneakyThrows(Exception.class)public void removeFile(String bucketName, String fileRealName) {createBucket(bucketName);minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucketName).object(fileRealName).build());}/*** 下載文件** @param httpServletResponse httpServletResponse* @param fileRealName        文件存儲名稱* @param fileName            文件下載名稱* @throws IOException IOException*/public void downloadFile(String bucketName, String fileRealName, String fileName, HttpServletResponse httpServletResponse) throws Exception {createBucket(bucketName);//獲取文件流InputStream inputStream = minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(fileRealName).build());//設置響應頭信息,告訴前端瀏覽器下載文件httpServletResponse.setContentType("application/octet-stream;charset=UTF-8");httpServletResponse.setCharacterEncoding("UTF-8");httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));//獲取輸出流進行寫入數(shù)據(jù)OutputStream outputStream = httpServletResponse.getOutputStream();// 將輸入流復制到輸出流byte[] buffer = new byte[4096];int bytesRead = -1;while ((bytesRead = inputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, bytesRead);}// 關閉流資源inputStream.close();outputStream.close();}
}

http://www.risenshineclean.com/news/6119.html

相關文章:

  • 河南企業(yè)網(wǎng)站營銷設計網(wǎng)絡營銷品牌案例
  • 專業(yè)做網(wǎng)站+上海水果店推廣營銷方案
  • 如何利用微博推廣網(wǎng)站so導航 抖音
  • 為了 門戶網(wǎng)站建設優(yōu)化課程
  • 做收費網(wǎng)站成都百度推廣公司聯(lián)系電話
  • 網(wǎng)站建設與網(wǎng)頁設計作業(yè)軟文世界平臺
  • 畢業(yè)設計做網(wǎng)站答辯深圳剛剛突然宣布
  • 做返利網(wǎng)站能賺錢么網(wǎng)絡營銷做得好的企業(yè)有哪些
  • 贛州網(wǎng)站制作培訓建網(wǎng)站找哪個平臺好呢
  • 表情包在線制作網(wǎng)站網(wǎng)絡搜索關鍵詞排名
  • 網(wǎng)站站內(nèi)交換鏈接怎么做創(chuàng)建網(wǎng)站
  • 廈門做網(wǎng)頁網(wǎng)站的公司怎么自己制作一個網(wǎng)站
  • 做網(wǎng)站買二手域名網(wǎng)絡營銷推廣培訓機構
  • 網(wǎng)站欄目模板如何選擇谷歌seo課程
  • 大站網(wǎng)站建設百度自動優(yōu)化
  • 遵義網(wǎng)站建設中心seo優(yōu)化專員編輯
  • 龍華建設網(wǎng)站企業(yè)郵箱查詢
  • 如何在路由器上做網(wǎng)站轉跳app下載推廣
  • 網(wǎng)站建設游戲公司免費手游推廣代理平臺渠道
  • 深圳做公司網(wǎng)站seo管理
  • dw怎么做網(wǎng)站地圖奶茶店推廣軟文500字
  • 南山網(wǎng)站多少錢什么叫seo
  • 福州營銷型網(wǎng)站建設公司今日新聞聯(lián)播
  • 公司網(wǎng)站制作企業(yè)建站平臺哪個比較權威
  • 中交建設集團 網(wǎng)站營銷型網(wǎng)站有哪些功能
  • 做3dmax的網(wǎng)站國內(nèi)搜索引擎排名第一
  • 網(wǎng)站服務器有哪些類型有哪些類型有哪些類型有哪些類型百度推廣一年大概需要多少錢
  • 蘭州做網(wǎng)站哪家專業(yè)株洲專業(yè)seo優(yōu)化
  • 做網(wǎng)站大圖片東莞關鍵詞排名推廣
  • html編輯器哪個軟件好用網(wǎng)站優(yōu)化的方法