上传文件到FastDFS出错

【出错问题】: 通过 FastDFS 客户端上传图片时,可能提示 ‘No space left on device’ 的出错
tracker_query_storage fail, error no: 28, error info: No space left on device
出错原因:ubuntu剩余的可用空间不足,当可用空间小于10%时,就会报上面的错误提示。
解决方案1:删除ubuntu home目录下的 .cache 文件夹, 释放空间。
解决方案2:需要修改tracker容器配置文件

  1. 进入tracker容器,并通过vi打开要修改的tracker.conf配置文件,如下图所示,输入执行图中的两个命令;

  2. 修改/etc/fdfs/tracker.conf文件中的如下配置
    默认为10%, 修改为1%, 表示ubuntu剩余空间小于1%时才提示警告
    reserved_storage_space = 1%

  3. 输入 :x 保存退出vi编辑器, 再按exit退出容器

  4. 重新启动 tracker容器
    sudo docker container stop tracker
    sudo docker container start tracker

要在Spring Boot中实现文件上传到FastDFS,需要使用FastDFS客户端和Spring Boot的MVC框架。下面是一个基本的实现过程: 1. 添加FastDFS客户端依赖 在pom.xml文件中添加FastDFS客户端依赖,如下所示: ``` <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.27.2</version> </dependency> ``` 2. 配置FastDFS客户端 在Spring Boot的配置文件application.properties中添加FastDFS客户端的配置信息,如下所示: ``` fdfs.tracker-list=192.168.1.2:22122 ``` 其中,fdfs.tracker-list表示FastDFS的Tracker服务器列表。 3. 实现文件上传接口 在Spring Boot的控制器中实现文件上传接口,如下所示: ``` @RestController public class FileUploadController { @Autowired private FastFileStorageClient storageClient; @PostMapping("/upload") public String upload(@RequestParam("file") MultipartFile file) { try { StorePath storePath = storageClient.uploadFile(file.getInputStream(), file.getSize(), FilenameUtils.getExtension(file.getOriginalFilename()), null); return storePath.getFullPath(); } catch (IOException e) { e.printStackTrace(); return "上传失败"; } } } ``` 其中,@Autowired注解注入了FastDFS客户端的FastFileStorageClient对象,@PostMapping注解定义了文件上传接口,@RequestParam注解获取上传的文件。 4. 测试文件上传接口 可以使用Postman等工具测试文件上传接口,如下所示: - 请求URL:http://localhost:8080/upload - 请求方法:POST - 请求参数:file(选择要上传的文件) - 返回结果:成功上传的文件路径 以上就是基本的文件上传到FastDFS的实现过程,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值