package com.ruoyi.file.service;
|
|
import java.io.InputStream;
|
import com.alibaba.nacos.common.utils.IoUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.multipart.MultipartFile;
|
import com.github.tobato.fastdfs.domain.fdfs.StorePath;
|
import com.github.tobato.fastdfs.service.FastFileStorageClient;
|
import com.ruoyi.common.core.utils.file.FileTypeUtils;
|
|
/**
|
* FastDFS 文件存储
|
*
|
* @author ruoyi
|
*/
|
@Service
|
public class FastDfsSysFileServiceImpl implements ISysFileService
|
{
|
/**
|
* 域名或本机访问地址
|
*/
|
@Value("${fdfs.domain}")
|
public String domain;
|
|
@Autowired
|
private FastFileStorageClient storageClient;
|
|
/**
|
* FastDfs文件上传接口
|
*
|
* @param file 上传的文件
|
* @return 访问地址
|
* @throws Exception
|
*/
|
@Override
|
public String uploadFile(MultipartFile file) throws Exception
|
{
|
InputStream inputStream = file.getInputStream();
|
StorePath storePath = storageClient.uploadFile(inputStream, file.getSize(),
|
FileTypeUtils.getExtension(file), null);
|
IoUtils.closeQuietly(inputStream);
|
return domain + "/" + storePath.getFullPath();
|
}
|
}
|