Java调用FastDFS

Java调用FastDFS

导入pom依赖
<dependencies>
    <dependency>
        <groupId>net.oschina.zcx7878</groupId>
        <artifactId>fastdfs-client-java</artifactId>
    </dependency>
</dependencies>
在项目resource中添加tracker.conf 配置文件在这里插入图片描述
tracker_server=192.168.200.128:22122

# 连接超时时间,针对socket套接字函数connect,默认为30秒
connect_timeout=30000

# 网络通讯超时时间,默认是60秒
network_timeout=60000
实现流程

1 读取配置文件 > 2 创建tracker连接 > 3 根据tracker创建storage连接 > 4 上传文件
在这里插入图片描述
常用的两个上传方法:

  1. 参数为字符串的是给了上传文件所在路径
  2. 参数为byte[]数组的需要上传的文件流已经加载了
代码
package com.atguigu.gmall.product.controller;


import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.product.test.TestDfs;
import org.apache.commons.io.FilenameUtils;
import org.csource.common.MyException;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

@RestController
@RequestMapping("admin/product/")
@CrossOrigin
public class FileUploadController {


    @RequestMapping("fileUpload")
    private static Result<String> fileUpload(MultipartFile file) throws IOException, MyException {
        // 读取配置文件
        String path = FileUploadController.class.getClassLoader().getResource("tracker.conf").getPath();
        ClientGlobal.init(path);
        // 创建tracker连接
        TrackerClient trackerClient = new TrackerClient();
        TrackerServer connection = trackerClient.getConnection();
        // 创建storage
        StorageClient storageClient = new StorageClient(connection,null);
        // 上传文件
        String originalFilename = file.getOriginalFilename();

//        int i = originalFilename.lastIndexOf(".");
//        String substring = originalFilename.substring(i);
        String extension = FilenameUtils.getExtension(originalFilename);

        String[] jpgs = storageClient.upload_file(file.getBytes(), extension, null);
        String imageUrl = "http://192.168.222.2:8080";
        for (String jpg : jpgs) {
            imageUrl = imageUrl + "/" + jpg;
        }
        return Result.ok(imageUrl);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值