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

怎样下载别人网站自己做的视频网站 软件

怎样下载别人网站自己做的视频,网站 软件,网站建设推荐信息,有什么做门窗展厅的设计网站什么是minio minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小。 是一种海量、安全、低成本、高可靠的云存储…

什么是minio

minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小。 是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

如果不考虑文件存储上云,minio 是一个非常不错的选择,并且支持分布式部署。

如何使用 minio 进行文件上传

// 引入mioio的依赖包<!-- minio --><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>7.1.4</version></dependency>
// controller层
@PostMapping(value = "/uploadFile", headers = "content-type=multipart/form-data")
public Response<List<FileReturn>> uploadFiles(List<MultipartFile> fileList) {return fileService.uploadFileList(fileList);}
// service层 --- 伪代码
public List<FileReturn> uploadFileList(List<MultipartFile> fileList) {// 参数校验if (CollectionUtils.isEmpty(fileList)) {// throw new Exception}List<FileVO> fileVOList = new ArrayList<>();List<FileReturn> fileReturnList = new ArrayList<>();// String userId = xxxx;for (MultipartFile file : fileList) {// 校验文件 todo// 开始上传try {// 将文件存入minioMap<String, 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://www.zhongyajixie.com/news/60764.html

相关文章:

  • 和老妇做爰视频网站站长统计网站大全
  • 宝和网站建设seo网络推广员招聘
  • 网站服务公司哪个好企业网站建设cms
  • vs做网站通过e浏览器南宁seo服务优化
  • 饿了吗网站如何做湖南网站建设推广
  • 邯郸网站推广谷歌google play下载
  • 网站制作需要什么软件有哪些下载百度地图2022最新版官方
  • 网站做关键词seo职位具体做什么
  • 淄博做企业网站哪家好北京seo课程培训
  • 郑州互联网公司排名吉林seo管理平台
  • 网站建设捌金手指花总十外链推广平台
  • 桂林漓江游船票价格深圳seo优化外包
  • 邢台哪儿做wap网站好关键词优化公司哪家推广
  • 集宁做网站的公司seo外链技巧
  • 中国交通建设股份有限公司官网广州网络优化最早的公司
  • 香港网站建设有限公司什么是互联网营销师
  • 北京网站建设seo优化常用的网络营销工具有哪些
  • 网站默认中文字体1688关键词怎么优化
  • 焦作商城网站建设2022最新热点事件及点评
  • 做视频网站视频西安百度推广公司
  • node.js 做网站百度竞价排名服务
  • 个人做电子商务网站备案网页设计模板网站免费
  • 网站建设目的是什么360推广助手
  • 英文网站seo 谷歌营销战略包括哪些方面
  • 有哪些网站做美食的图片很精致精准营销的成功案例
  • wordpress 主题 个人google seo 优化教程
  • 做质量计量的网站有哪些临沂seo公司
  • 百度网站空间网站生成app工具
  • 做网站创意是什么意思进行seo网站建设
  • 南充营销型网站建设线上营销推广