千家信息网

springboot集成fastdfs的方法

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍"springboot集成fastdfs的方法",在日常操作中,相信很多人在springboot集成fastdfs的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2025年01月25日springboot集成fastdfs的方法

这篇文章主要介绍"springboot集成fastdfs的方法",在日常操作中,相信很多人在springboot集成fastdfs的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"springboot集成fastdfs的方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1 引入jar

    com.github.tobato    fastdfs-client    1.26.1-RELEASE

说明:

springboot的版本为2.0以上时候,使用1.26.1-RELEASE版本

2 引入配置:

@Configuration@Import(FdfsClientConfig.class)// 解决jmx重复注册bean的问题@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)public class FastClientImporter {}

3 yml 配置:

fdfs:  so-timeout: 1501  connect-timeout: 601  thumb-image: # 缩略图    width: 60    height: 60  tracker-list: # tracker地址        10.96.165.173:22122

4使用:

@Servicepublic class PictureServiceImpl implements  PictureService {    @Autowired    private FastFileStorageClient fastFileStorageClient;     @Value("${IMAGE_SERVER_URL}")    private String IMAGE_SERVER_URL;    @Override    public String uploadPicture(MultipartFile file){        //截取后缀        try {            String originalFilename = file.getOriginalFilename();            System.out.println(originalFilename);            String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);            System.out.println(extName);            StorePath storePath = fastFileStorageClient.uploadFile(file.getInputStream(), file.getSize(), FilenameUtils.getExtension(file.getOriginalFilename()), null);            System.out.println(storePath);            String fileUrl = IMAGE_SERVER_URL + storePath.getFullPath();            return fileUrl;        } catch (IOException e) {            e.printStackTrace();            return  null;        }    }}

docker 搭建 fastdfs server

前提: 安装docker

yum install -y docker-io

1 拉取镜像:

docker pull qbanxiaoli/fastdfs

2 docker 启动

docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=192.168.127.131 -e WEB_PORT=80 -v ${HOME}/fastdfs:/var/local/fdfs qbanxiaoli/fastdfs

3 检验:

docker exec -it fastdfs /bin/bashecho "Hello FastDFS!">index.htmlfdfs_test /etc/fdfs/client.conf upload index.html

常见错误:

返回错误码28,表示磁盘空间不足。注意FastDFS中有预留空间的概念,在tracker.conf中设置,配置项为:reserved_storage_space,缺省值为4GB,即预留4GB的空间。

解决:

请酌情设置reserved_storage_space这个参数,比如可以设置为磁盘总空间的20%左右。

到此,关于"springboot集成fastdfs的方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0