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

网站开发学什么比较有优势特色的武进网站建设

网站开发学什么比较有优势,特色的武进网站建设,网站备案 取消接入,石家网站建设公司排名什么是minio minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。非常适合于存储大容量非结构化的数据#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等#xff0c;而一个对象文件可以是任意大小。 是一种海量、安全、低成本、高可靠的云存储…什么是minio minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。非常适合于存储大容量非结构化的数据例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等而一个对象文件可以是任意大小。 是一种海量、安全、低成本、高可靠的云存储服务适合存放任意类型的文件。容量和处理能力弹性扩展多种存储类型供选择全面优化存储成本。 如果不考虑文件存储上云minio 是一个非常不错的选择并且支持分布式部署。 如何使用 minio 进行文件上传 // 引入mioio的依赖包!-- minio --dependencygroupIdio.minio/groupIdartifactIdminio/artifactIdversion7.1.4/version/dependency// controller层 PostMapping(value /uploadFile, headers content-typemultipart/form-data) public ResponseListFileReturn uploadFiles(ListMultipartFile fileList) {return fileService.uploadFileList(fileList);}// service层 --- 伪代码 public ListFileReturn uploadFileList(ListMultipartFile fileList) {// 参数校验if (CollectionUtils.isEmpty(fileList)) {// throw new Exception}ListFileVO fileVOList new ArrayList();ListFileReturn fileReturnList new ArrayList();// String userId xxxx;for (MultipartFile file : fileList) {// 校验文件 todo// 开始上传try {// 将文件存入minioMapString, String fileMap minioClient.putObject(file);// 创建文件对象,设置属性FileVO fileVO new FileVO().init(userId).setFileType(suffix).setFileOldName(Base64.decodeStr(fileMap.get(FileModel.OLD_NAME), UTF-8)).setFileName(fileMap.get(FileModel.NAME)).setFilePath(fileMap.get(FileModel.NAME)).setFileNetPath(fileMap.get(FileModel.URL)).setFileSize(new BigDecimal(fileMap.get(FileModel.SIZE))).setFileUploadUser(userId).setFileUploadTime(LocalDateTime.now());fileVO.setId(IdWorker.getId());fileVOList.add(fileVO);// 返回文件id文件url文件名FileReturn fileReturn new FileReturn().setFileId(fileVO.getId()).setFileNetPath(fileVO.getFileNetPath()).setFileAbsolutePath(this.preview(fileVO.getFileNetPath())).setFileOldName(fileVO.getFileOldName());fileReturnList.add(fileReturn);} catch (Exception e) {// 删除minio中已经保存的文件if (fileReturnList.size() 0) {fileReturnList.forEach(vo - minioClient.removeObject(vo.getFileNetPath()));}log.info(上传文件异常, e);// throw new Exception}}// 保存附件信息到数据库 持久化mapper.saveList(fileVOList);return fileReturnList;}文件下载 // service层 // 文件下载前端传入文件id --- 伪代码public void downloadFile(String fileId, HttpServletResponse response) {FileVO contractFile mapper.selectById(fileId);if (!Objects.isNull(contractFile)) {try {response.setHeader(Content-Disposition, attachment;filename contractFile.getFileName());minioClient.getObject(contractFile.getFilePath(), response.getOutputStream());// 持久化记录下载次数根据业务来处理// ...} catch (IOException e) {throw new RuntimeException(e);}}}文件删除 // service层 --- 伪代码 public String removeFile(String fileId, HttpServletResponse response) {FileVO contractFile mapper.selectById(fileId);if (!Objects.isNull(contractFile)) {try {response.setHeader(Content-Disposition, attachment;filename contractFile.getFileName());// 删除minio文件minioClient.removeFile(contractFile.getFilePath());// 删除数据库文件 持久化操作// ...} catch (IOException e) {// return 删除失败;}}return 删除成功;}文件预览 // service层 --- 伪代码 // 返回文件的url全路径即可public String preview(String filePath) {String url ;if (StringUtils.isNotEmpty(filePath)) {int index filePath.indexOf(/);String objectName filePath.substring(index 1);url minioClient.getObjectUrl(objectName, 24 * 3600, Method.GET);}return url;}public String getObjectUrl(String objectName, Integer expires, Method method) {try {if (expires 1 expires 604800) {if (method null) {method Method.GET;}return minioClient.getPresignedObjectUrl((GetPresignedObjectUrlArgs)((io.minio.GetPresignedObjectUrlArgs.Builder)((io.minio.GetPresignedObjectUrlArgs.Builder)GetPresignedObjectUrlArgs.builder().method(method).bucket(minioConfig.getBucket())).object(objectName)).expiry(expires, TimeUnit.SECONDS).build());} else {throw new InvalidExpiresRangeException(expires, expires must be in range of 1 to 604800);}} catch (Throwable var6) {throw new BusinessException(FILE_LOAD_EXCEPTION.getCode(), FILE_LOAD_EXCEPTION.getMessage(), var6.getMessage());}}
http://wiki.neutronadmin.com/news/79667/

相关文章:

  • 做网站商城如何优化wordpress大前端模板下载
  • 淮北市建设局网站注册网站会有哪些风险
  • 网页模板怎么做网站买了域名不备案行吗
  • 自媒体自助下单网站怎么做去哪儿网站开发
  • 青岛专业网站制作设计杭州人才招聘网
  • 数据库网站建设教程wordpress自己写代码
  • 唐山网站建设冀icp备网址链接
  • 松原企业网站建设郑州七彩网站建设公司 交通
  • 西安市规划建设局网站网站加入wordpress
  • 赣州章贡区邮政编码是多少南宁企业网站排名优化
  • 中山营销型网站设计如何建立网上商城
  • 手机网站开放惠州百度搜索优化
  • 备案网站名称更改wordpress 评论 顶踩 心 插件
  • 外贸网站的特点网站备案会检查空间
  • 永康网站网站建设上海提供虚拟注册地址的园区
  • 可以做配音兼职的网站自己可以做微信公众号吗
  • 永久网站域名站长网站素材
  • 网站开发与维护视频教程长沙模板建站定制
  • x网站免费做网站的外包公司
  • 选择大连网站建设crm系统营销
  • 保定网站建设浩森宇特wordpress去除购物车图标
  • 成都网站建设网站建设如何查看网站建站程序
  • 太原网站排名系统有哪些网站建设企业
  • 响应式网站是个坑做企业官网需要什么条件
  • 做公司网站优劣势马云做网站最开始怎么盈利的
  • 网站做百度竞价的标志福田设计网站
  • html网站 怎么做seo永久免费个人域名注册
  • 湖州网站建设湖州免费网站建设浩森宇特
  • 这么做网站教程银川网站公司
  • app网站建设哪家好棋牌app开发价格表