当前位置: 首页> 科技> 名企 > 精品课程网站设计说明范文_2021必火的创业项目加盟_北京做网页的公司_网络推广靠谱吗

精品课程网站设计说明范文_2021必火的创业项目加盟_北京做网页的公司_网络推广靠谱吗

时间:2025/7/17 3:01:11来源:https://blog.csdn.net/wangjian530/article/details/144213386 浏览次数:0次
精品课程网站设计说明范文_2021必火的创业项目加盟_北京做网页的公司_网络推广靠谱吗

0.MINIO学习文档

Minio客户端mc使用 | Elibaron学习笔记

1.Mac安装MINIO

中文官方网址:MinIO下载和安装 | 用于创建高性能对象存储的代码和下载内容

(1) brew 安装

brew install minio/stable/minio

(2)安装完成,执行brew info minio 

(3)启动minio服务

/opt/homebrew/opt/minio/bin/minio server --certs-dir\=/opt/homebrew/etc/minio/certs --address\=:9000 /opt/homebrew/var/minio

参数解释:

  • –certs-dir=/opt/homebrew/etc/minio/certs  配置文件目录
  • –address=:9000 使用的端口
  • /opt/homebrew/var/minio 存储数据目录 

Ctrl+c关闭服务器。

(4)启动成功。

  • 访问 http://127.0.0.1:9000 或者 http://127.0.0.1:52301
  • RootUser: minioadmin
  • RootPass: minioadmin

2. 利用本地MINIO实现文件上传功能

(1)首先先建一个Buckets

(2) 然后在nacos中配置你的oss-minio(这种方法比较通用)

oss:provider: MINIO: ossType: minioaccessKey: minioadminsecretKey: minioadminendpoint: 127.0.0.1port: 9000isHttps: falsebucket-name: self-safe     

accessKey和secretKey可以在你登录minio的时候就会看到:

 你也可以在你代码里写死,但是这样不通用:

try (InputStream inputStream = new FileInputStream(tempFile)) {// 上传文件到 MinIOlog.info("Uploading file to MinIO, fileName: {}", fileName);MinioClient minioClient = MinioClient.builder()// MinIO 服务地址.endpoint("http://localhost:9000")// MinIO 访问密钥.credentials("minioadmin", "minioadmin").build();minioClient.putObject(PutObjectArgs.builder()// 替换为你的 MinIO Bucket 名称.bucket("self-safe")// 上传的文件名.object(fileName)// 文件流和文件大小.stream(inputStream, tempFile.length(), -1)// 文件类型.contentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet").build());

(3)调用上传文件工具类ossUtils.uploadFile,文件就会被自动上传到你自己本地的minio了

UploadResult uploadResult = ossUtils.uploadFile(inputStream, exportExcelName + ".xlsx");

(4) 把数据写入excel并上传到minio总体代码

 private <T extends DamExcelWrite> void exportCustomerRiskMonitoring(String fileSid,Function<Integer, List<T>> exportFunction,Class<T> clazz,List<String> sheetNames,String exportExcelName) {// 获取下载状态信息FileDownloadStatus fileStatus = fileDownloadStatusService.getDownloadStatusById(fileSid);DateTime processTime = DateUtil.date();DateTime expireTime = DateUtil.offsetDay(processTime, fileExpireTime);fileStatus.setExpireTime(expireTime);String fileName = exportExcelName + "-" + fileSid;File tempFile;try {tempFile = File.createTempFile(fileName, ExcelTypeEnum.XLSX.getValue());} catch (Exception e) {log.error("create file error, stop export, fileName: {}", fileName);return;}try (OutputStream outputStream = new FileOutputStream(tempFile)) {log.info("Starting to write Excel file");// 创建模板文件ExcelWriter excelWriter = EasyExcel.write(outputStream, clazz).inMemory(true).excelType(ExcelTypeEnum.XLSX).build();// 创建并配置SheetWriteSheet writeSheet = EasyExcel.writerSheet(sheetNames.get(0)).head(clazz).build();// 分页写入数据int pageIndex = 1;while (true) {log.info("Fetching data for pageIndex: {}", pageIndex);List<T> pageData = exportFunction.apply(pageIndex);if (pageData == null || pageData.isEmpty()) {log.warn("No data found for pageIndex: {}, ending write loop.", pageIndex);break; // 数据为空,退出循环}log.info("Writing data for pageIndex: {}, data size: {}", pageIndex, pageData.size());excelWriter.write(pageData, writeSheet);pageIndex++;}log.info("Finishing ExcelWriter to finalize write operation.");excelWriter.finish();} catch (Exception e) {log.error("Error during Excel export, fileSid: {}", fileSid, e);fileStatus.setGenerateStatus("2");fileStatus.setMsg("Error during export: " + e.getMessage());}try (InputStream inputStream = new FileInputStream(tempFile)) {// 上传文件log.info("Starting upload for file: {}", fileName);long start = System.currentTimeMillis();// 将文件流上传UploadResult uploadResult = ossUtils.uploadFile(inputStream, sheetNames + ".xlsx");log.info("Upload finished, cost: {}, file: {}", System.currentTimeMillis() - start, fileName);// 更新文件状态为成功fileStatus.setGenerateStatus("1");fileStatus.setMsg("success");saveExportRecord("CustomerRiskMonitoringExport", fileSid, processTime, expireTime, uploadResult);} catch (Exception e) {log.error("Error during file upload, fileSid: {}", fileSid, e);fileStatus.setGenerateStatus("2");fileStatus.setMsg("Error during upload: " + e.getMessage());} finally {if (tempFile.exists()) {tempFile.delete();}}// 更新下载状态log.info("Updating fileDownloadStatus: {}", fileStatus);fileDownloadStatusService.updateDownloadStatus(fileStatus);}

(5)检查文件是否被上传成功,miniou会按照年月日分好文件夹

关键字:精品课程网站设计说明范文_2021必火的创业项目加盟_北京做网页的公司_网络推广靠谱吗

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: