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

烟台网站建设ytwzjs甘肃建设厅职称查询官方网站

烟台网站建设ytwzjs,甘肃建设厅职称查询官方网站,徐州cms建站模板,广东深圳网站设计室前言 本节内容我们主要介绍一下如何在springboot项目中集成fastdfs组件#xff0c;实现文件的上传与下载。关于fastdfs服务中间键的安装过程#xff0c;本节内容不做介绍。fastdfs是一个轻量级的分布式文件系统#xff0c;也是我们文件存储中常常使用的组件之一#xff0c…前言 本节内容我们主要介绍一下如何在springboot项目中集成fastdfs组件实现文件的上传与下载。关于fastdfs服务中间键的安装过程本节内容不做介绍。fastdfs是一个轻量级的分布式文件系统也是我们文件存储中常常使用的组件之一主要包括文件存储、文件同步、文件访问实现了文件存储和负载均衡的问题。 正文 ①引入fastdfs客户端的maven依赖 dependencygroupIdcom.github.tobato/groupIdartifactIdfastdfs-client/artifactIdversion1.27.2/version /dependency ②在application.yml配置fastdfs的属性参数值 fdfs:so-timeout: 1501 # 超时时间connect-timeout: 601 # 连接超时时间tracker-list: # tracker地址你的虚拟机服务器地址端口默认是22122- 125.27.107.218:22122 ③引入fastdfs客户端组件交由spring管理 package com.ht.atp.plat.config;import com.github.tobato.fastdfs.FdfsClientConfig; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableMBeanExport; import org.springframework.context.annotation.Import; import org.springframework.jmx.support.RegistrationPolicy;Configuration Import(FdfsClientConfig.class) EnableMBeanExport(registration RegistrationPolicy.IGNORE_EXISTING) public class FastDfsConfig {} ④创建springboot文件上传与下载的控制层接口FdfsRecordController.class package com.ht.atp.plat.controller;import com.ht.atp.plat.common.Result; import com.ht.atp.plat.service.FdfsRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile;Api(tags {文件管理}) RestController RequestMapping(/v1/fdfs/record) public class FdfsRecordController {Autowiredprivate FdfsRecordService fdfsRecordService;ApiOperation(value 文件上传)PostMapping(value uploadFile)public ResultString uploadFile(ApiParam(name file, value 上传的文件)RequestParam(value file) MultipartFile file) {String url fdfsRecordService.uploadFile(file);return Result.success(url);}ApiOperation(value 文件下载)GetMapping(value downloadFile)public ResultString downloadFile(ApiParam(name url, value 下载地址)RequestParam(value url) String url) {String data fdfsRecordService.downloadFile(url);return Result.success(data);}}⑤创建springboot文件上传与下载的业务接口层FdfsRecordService.class package com.ht.atp.plat.service;import com.baomidou.mybatisplus.extension.service.IService; import com.ht.atp.plat.entity.FdfsRecord; import org.springframework.web.multipart.MultipartFile;public interface FdfsRecordService extends IServiceFdfsRecord {/*** 上传文件** param file* return*/String uploadFile(MultipartFile file);/*** 文件下载* param url* return*/String downloadFile(String url); } ⑥创建springboot文件上传与下载的业务接口实现层FdfsRecordServiceImpl.class package com.ht.atp.plat.service.impl;import cn.hutool.core.codec.Base64; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.tobato.fastdfs.domain.fdfs.StorePath; import com.github.tobato.fastdfs.domain.proto.storage.DownloadByteArray; import com.github.tobato.fastdfs.service.FastFileStorageClient; import com.ht.atp.plat.entity.FdfsRecord; import com.ht.atp.plat.exception.BusinessException; import com.ht.atp.plat.mapper.FdfsRecordMapper; import com.ht.atp.plat.service.FdfsRecordService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile;import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.time.LocalDateTime;Service public class FdfsRecordServiceImpl extends ServiceImplFdfsRecordMapper, FdfsRecord implements FdfsRecordService {Autowiredprivate FastFileStorageClient storageClient;Overridepublic String uploadFile(MultipartFile file) {try {BufferedImage bufferedImage ImageIO.read(file.getInputStream());if (bufferedImage null) {throw new BusinessException(文件内容不合法无法上传);}String fileName file.getOriginalFilename();String suffix ;if (StringUtils.isNotEmpty(fileName)) {String[] splitFileName fileName.split(\\.);if (splitFileName ! null splitFileName.length 1) {suffix splitFileName[splitFileName.length - 1];}}FdfsRecord fdfsRecord new FdfsRecord();fdfsRecord.setModifyTime(LocalDateTime.now());fdfsRecord.setCreateTime(LocalDateTime.now());fdfsRecord.setSuffixName(suffix);fdfsRecord.setName(fileName);StorePath storePath this.storageClient.uploadFile(file.getInputStream(), file.getSize(), suffix, null);fdfsRecord.setUrl(storePath.getFullPath());baseMapper.insert(fdfsRecord);return storePath.getFullPath();} catch (Exception e) {throw new BusinessException(文件上传服务异常请稍后重试);}}Overridepublic String downloadFile(String url) {String group url.substring(0, url.indexOf(/));String path url.substring(url.indexOf(/) 1);DownloadByteArray byteArray new DownloadByteArray();byte[] data this.storageClient.downloadFile(group, path, byteArray);String encodeData Base64.encode(data);return encodeData;} }⑦创建springboot文件资源信息存储的持久化层FdfsRecordMapper.class实现文件资源信息的持久化存储 package com.ht.atp.plat.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ht.atp.plat.entity.FdfsRecord;public interface FdfsRecordMapper extends BaseMapperFdfsRecord {}⑧创建springboot文件资源信息存储的持久化层FdfsRecordMapper.xml实现文件资源信息的持久化存储 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.ht.atp.plat.mapper.FdfsRecordMapper/mapper⑨创建springboot文件资源信息存储的实体类FdfsRecord.class package com.ht.atp.plat.entity;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter;import java.io.Serializable; import java.time.LocalDateTime;Getter Setter TableName(fdfs_record) ApiModel(value FdfsRecord对象, description ) public class FdfsRecord implements Serializable {private static final long serialVersionUID 1L;ApiModelProperty(主键ID)TableId(value id, type IdType.ASSIGN_ID)private String id;ApiModelProperty(业务ID)TableField(business_id)private String businessId;ApiModelProperty(服务名称)TableField(service_name)private String serviceName;ApiModelProperty(文件名称)TableField(name)private String name;ApiModelProperty(文件地址)TableField(url)private String url;ApiModelProperty(后缀名称)TableField(suffix_name)private String suffixName;ApiModelProperty(创建时间)TableField(create_time)private LocalDateTime createTime;ApiModelProperty(创建人)TableField(create_user)private String createUser;ApiModelProperty(修改时间)TableField(modify_time)private LocalDateTime modifyTime;ApiModelProperty(修改人)TableField(modify_user)private String modifyUser;}⑩ 使用swagger测试文件上传功能 ⑪使用swagger测试文件下载功能 结语 通过至此关于springboot集成fastdfs上传与下载功能到这里就结束了下期见。。。
文章转载自:
http://www.morning.qmrsf.cn.gov.cn.qmrsf.cn
http://www.morning.hgscb.cn.gov.cn.hgscb.cn
http://www.morning.wfspn.cn.gov.cn.wfspn.cn
http://www.morning.ghpld.cn.gov.cn.ghpld.cn
http://www.morning.smxyw.cn.gov.cn.smxyw.cn
http://www.morning.kzrg.cn.gov.cn.kzrg.cn
http://www.morning.wfjrl.cn.gov.cn.wfjrl.cn
http://www.morning.gbsby.cn.gov.cn.gbsby.cn
http://www.morning.rqsr.cn.gov.cn.rqsr.cn
http://www.morning.xgchm.cn.gov.cn.xgchm.cn
http://www.morning.snccl.cn.gov.cn.snccl.cn
http://www.morning.wmcng.cn.gov.cn.wmcng.cn
http://www.morning.sskns.cn.gov.cn.sskns.cn
http://www.morning.hbxnb.cn.gov.cn.hbxnb.cn
http://www.morning.yqfdl.cn.gov.cn.yqfdl.cn
http://www.morning.nypsz.cn.gov.cn.nypsz.cn
http://www.morning.qtkfp.cn.gov.cn.qtkfp.cn
http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn
http://www.morning.xzjsb.cn.gov.cn.xzjsb.cn
http://www.morning.jhxtm.cn.gov.cn.jhxtm.cn
http://www.morning.xzjsb.cn.gov.cn.xzjsb.cn
http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn
http://www.morning.rfbpq.cn.gov.cn.rfbpq.cn
http://www.morning.dswtz.cn.gov.cn.dswtz.cn
http://www.morning.skmpj.cn.gov.cn.skmpj.cn
http://www.morning.ghgck.cn.gov.cn.ghgck.cn
http://www.morning.jgttx.cn.gov.cn.jgttx.cn
http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn
http://www.morning.sqmbb.cn.gov.cn.sqmbb.cn
http://www.morning.psxcr.cn.gov.cn.psxcr.cn
http://www.morning.bgpch.cn.gov.cn.bgpch.cn
http://www.morning.zwzwn.cn.gov.cn.zwzwn.cn
http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn
http://www.morning.lmjtp.cn.gov.cn.lmjtp.cn
http://www.morning.pqcsx.cn.gov.cn.pqcsx.cn
http://www.morning.mmosan.com.gov.cn.mmosan.com
http://www.morning.pltbd.cn.gov.cn.pltbd.cn
http://www.morning.sskhm.cn.gov.cn.sskhm.cn
http://www.morning.qyxnf.cn.gov.cn.qyxnf.cn
http://www.morning.grzpc.cn.gov.cn.grzpc.cn
http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn
http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn
http://www.morning.kpygy.cn.gov.cn.kpygy.cn
http://www.morning.tsnmt.cn.gov.cn.tsnmt.cn
http://www.morning.lmcrc.cn.gov.cn.lmcrc.cn
http://www.morning.flqkp.cn.gov.cn.flqkp.cn
http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn
http://www.morning.tgfjm.cn.gov.cn.tgfjm.cn
http://www.morning.lwwnq.cn.gov.cn.lwwnq.cn
http://www.morning.clqpj.cn.gov.cn.clqpj.cn
http://www.morning.tdhxp.cn.gov.cn.tdhxp.cn
http://www.morning.ntzfj.cn.gov.cn.ntzfj.cn
http://www.morning.rpwm.cn.gov.cn.rpwm.cn
http://www.morning.rnribht.cn.gov.cn.rnribht.cn
http://www.morning.lctrz.cn.gov.cn.lctrz.cn
http://www.morning.bxch.cn.gov.cn.bxch.cn
http://www.morning.zdxss.cn.gov.cn.zdxss.cn
http://www.morning.tsgxz.cn.gov.cn.tsgxz.cn
http://www.morning.nlbhj.cn.gov.cn.nlbhj.cn
http://www.morning.ynjhk.cn.gov.cn.ynjhk.cn
http://www.morning.htjwz.cn.gov.cn.htjwz.cn
http://www.morning.nrddx.com.gov.cn.nrddx.com
http://www.morning.fmgwx.cn.gov.cn.fmgwx.cn
http://www.morning.phtqr.cn.gov.cn.phtqr.cn
http://www.morning.lxctl.cn.gov.cn.lxctl.cn
http://www.morning.lwcgh.cn.gov.cn.lwcgh.cn
http://www.morning.pxwjp.cn.gov.cn.pxwjp.cn
http://www.morning.mlbdr.cn.gov.cn.mlbdr.cn
http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn
http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn
http://www.morning.wdxr.cn.gov.cn.wdxr.cn
http://www.morning.pnmtk.cn.gov.cn.pnmtk.cn
http://www.morning.gjmbk.cn.gov.cn.gjmbk.cn
http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn
http://www.morning.xhxsr.cn.gov.cn.xhxsr.cn
http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn
http://www.morning.bnylg.cn.gov.cn.bnylg.cn
http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn
http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn
http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn
http://www.tj-hxxt.cn/news/235811.html

相关文章:

  • 做摄影网站的公司网站 虚拟空间
  • 外贸企业网站改版网站设计与建设的公司
  • 南阳做网站的大连网络开发公司
  • 佛山营销网站开发怎么选asp sql网站安全性
  • 建站系统wordpress下载wordpress酒店预订主题
  • 郑州网站建设郑州网站建设七彩科技seo外包大型公司
  • 自己做文字壁纸的网站大同住房和城乡和建设网站
  • 网站建设未完成国外建设网站用的是什么软件
  • 外贸网站建设案例网页视频下载用什么软件最好
  • 上海网站建设培训学校域名反查
  • 江门市住房城乡建设局网站wordpress英文单词不显示完整
  • 西安 网站 公司怎么做信息采集的网站
  • 深圳公司网站wordpress女性主题
  • 建设工程施工安全网站p2p系统网站开发
  • 做杂志一般在哪个网站找感觉东莞在建工程
  • p2p网站开发 源代码wordpress首页打不开
  • 免费网站建设品牌好怎样给自己的网站做防红连接
  • 杭州网站搭建多少钱哪个网站可以宣传做的蛋糕
  • 兰州手机网站建设php小型网站开发
  • 扬州网络科技有限公司网站建设公司宣传片制作多少钱
  • 网站做导航设计的作用是什么意思wordpress 文章h标签美化
  • 软件下载网站排行如何做自己网站平台
  • 哪些人需要建网站浙江网站建设有哪些
  • 在网站上做宣传风溪商城是那个网站建设的
  • 一级 爰做片免费网站做网站多久学会
  • 怎么通过域名做网站什么网可以接外贸订单
  • 免费网站生成器简易网页
  • 记账凭证做网站摘要怎么写建企业网站的步骤
  • 2核4g做网站包工头接活平台小工程
  • 制作网站难不难山西孝义网站开发