【fastDFS】文件扩展名字数长度限制

在fastDFS中,默认后缀长度最大为 6个字节;在上传超过6位后缀长度的文件时,后缀被截断,如下图,我在上传后缀为 .safetensors,最终被截断为 .safete

Linux 中,fastDFS 6.06

Java中,fastdfs-client-1.27.2.jar

我需要上传文件扩展名很长的文件到fastdfs,但是发现扩展名总是会被截取,追了一下发现是Constants限制了FDFS_FILE_EXT_NAME_MAX_LEN = 6 ,请问这个参数可以配置吗?应该怎么修改呢? 在我将otherConstants类里的FDFS_FILE_EXT_NAME_MAX_LEN的值从6改到16时, 尝试传一张后缀长的文件时,会报错无效参数, 原因是服务器上的fastDFS源码(c语言编写的那个)的commons包下fdfs_global.h中FDFS_FILE_EXT_NAME_MAX_LEN=6, 于是将6改为16, make.sh重新编译后, 解决了传后缀长文件的问题。

具体修改操作如下:

  1. Linux中:
    • 进入安装fastDFS目录下的common包下,修改fdfs_global.h文件,将#define FDFS_FILE_EXT_NAME_MAX_LEN 6 改为 #define FDFS_FILE_EXT_NAME_MAX_LEN 16

      代码如下:

      # 进入安装fastDFS路径下的common包
      cd /home/fastdfs/fastdfs-6.06/common
      sudo vim fdfs_global.h
    • 上述操作需要重新编译 ,代码如下:
      # 进入fastDFS安装包下
      cd /home/fastdfs/fastdfs-6.06
      
      # 清理编译信息
      sudo ./make.sh clean
      
      # 编译
      sudo ./make.sh
      sudo ./make.sh install
    •  重启tracker 和 storage,代码如下:
      # 关闭tracker服务
      sudo fdfs_trackerd /etc/fdfs/tracker.conf stop
      
      # 启动tracker服务
      sudo fdfs_trackerd /etc/fdfs/tracker.conf start
      
      # 关闭storage服务
      sudo fdfs_storaged /etc/fdfs/storage.conf stop
      
      # 启动storage服务
      sudo fdfs_storaged /etc/fdfs/storage.conf start

  2. Java中:
    下载
    修改 com.github.tobato.fastdfs.domain.proto.OtherConstants
    中FDFS_FILE_EXT_NAME_MAX_LEN = 16
    重新编译成jar包,替换原有jar即可。
    
    

最终成功上传。

 

 

  • 29
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值