这篇文章主要介绍“springboot集成fastdfs的方法”,在日常操作中,相信很多人在springboot集成fastdfs的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”springboot集成fastdfs的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联是专业的禄丰网站建设公司,禄丰接单;提供成都网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行禄丰网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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使用:
@Service public 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/bash echo "Hello FastDFS!">index.html fdfs_test /etc/fdfs/client.conf upload index.html
常见错误:
返回错误码28,表示磁盘空间不足。注意FastDFS中有预留空间的概念,在tracker.conf中设置,配置项为:reserved_storage_space,缺省值为4GB,即预留4GB的空间。
解决:
请酌情设置reserved_storage_space这个参数,比如可以设置为磁盘总空间的20%左右。
到此,关于“springboot集成fastdfs的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!