当前位置: 代码迷 >> 综合 >> FdfsServerException: 错误码:22,错误信息:无效的参数
  详细解决方案

FdfsServerException: 错误码:22,错误信息:无效的参数

热度:94   发布时间:2023-10-15 07:14:44.0

springboot整合fastDfs文件下载报错:FdfsServerException: 错误码:22,错误信息:无效的参数!不知道是什么原因?

一、POM.XML引入的依赖

<dependency>
            <groupId>com.github.tobato</groupId>
            <artifactId>fastdfs-client</artifactId>
            <version>1.26.1-RELEASE</version>
        </dependency>

二、修改主启动类

@Import(FdfsClientConfig.class)
public class Application {...}

三、修改配置文件

fdfs:
  connect-timeout: 600
  tracker-list:  
  - ip:port
  
fasfDfs: 
  host: http:// ip:port/

四、编写工具类

@Component
public class FastDFS {

    private static final Logger LOG = LoggerFactory.getLogger(FastDFS.class);

    @Value("${fasfDfs.host}")
    private String RES_ACCESS_URL;

    @Autowired
    private FastFileStorageClient fastFileStorageClient;
    
    /**
     * 
     * @param filePath http://ip:port/group1/M00/00/00/wKi8hFxg3LuASrJBA%20AI2-xLRyng766.jpg
     */
    public void download(String filePath,MultipartFile outFile) {
        String path = "group1/M00/00/00/wKi8hFxhHHaAaR6fAADIHPmOQC0207.pdf";
        byte[] by = fastFileStorageClient.downloadFile("group1", path, null);
        try {
            IOUtils.write(by, new FileOutputStream("C:\\下载.jpg"));           
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 封装文件访问路径
     */
    private String getResAccessUrl(StorePath storePath) {
        String fileUrl = RES_ACCESS_URL + storePath.getFullPath();
        return fileUrl;
    }
}

 

原因分析:

 String path = "group1/M00/00/00/wKi8hFxhHHaAaR6fAADIHPmOQC0207.pdf";

path输入有误,正确的值是去掉group1,即path = "M00/00/00/wKi8hFxhHHaAaR6fAADIHPmOQC0207.pdf";

byte[] by = fastFileStorageClient.downloadFile("group1", path, null);

参考博客:https://blog.csdn.net/huhu518420/article/details/83419187