博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot之整合Fastdfs
阅读量:6847 次
发布时间:2019-06-26

本文共 2874 字,大约阅读时间需要 9 分钟。

增加依赖

  com.github.tobato  fastdfs-client  1.25.2-RELEASE

配置文件增加

fdfs:  soTimeout: 10000  connectTimeout: 10000  thumbImage:             #缩略图生成参数    width: 100    height: 100  trackerList:            #TrackerList参数,支持多个    - 192.168.1.100:22122

 

启动类增加

@Import(FdfsClientConfig.class)//解决jmx重复注册bean的问题@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)

 

FastdfsClientUtils
package com.zns.utils;import com.github.tobato.fastdfs.domain.StorePath;import com.github.tobato.fastdfs.proto.storage.DownloadByteArray;import com.github.tobato.fastdfs.service.FastFileStorageClient;import org.apache.commons.io.FilenameUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import org.springframework.web.multipart.MultipartFile;import java.io.*;import java.nio.charset.Charset;@Componentpublic class FastdfsClientUtils {    @Autowired    private FastFileStorageClient storageClient;    /**     * 上传文件     *     * @param file     * @return     * @throws IOException     */    public String uploadFile(MultipartFile file) throws Exception {        StorePath storePath = storageClient.uploadFile((InputStream) file.getInputStream(), file.getSize(), FilenameUtils.getExtension(file.getOriginalFilename()), null);        return storePath.getFullPath();    }    /**     * 上传文件     *     * @param file     * @return     * @throws IOException     */    public String uploadFile(File file) throws Exception {        FileInputStream inputStream = new FileInputStream(file);        StorePath storePath = storageClient.uploadFile(inputStream, file.length(), FilenameUtils.getExtension(file.getName()), null);        return storePath.getFullPath();    }    /**     * 将一段字符串生成一个文件上传     *     * @param content       文件内容     * @param fileExtension     * @return     */    public String uploadFile(String content, String fileExtension) throws Exception {        byte[] buff = content.getBytes(Charset.forName("UTF-8"));        ByteArrayInputStream stream = new ByteArrayInputStream(buff);        StorePath storePath = storageClient.uploadFile(stream, buff.length, fileExtension, null);        return storePath.getFullPath();    }    /**     * 删除文件     *     * @param fileUrl 文件访问地址     * @return     */    public void deleteFile(String fileUrl) throws Exception {        StorePath storePath = StorePath.praseFromUrl(fileUrl);        storageClient.deleteFile(storePath.getGroup(), storePath.getPath());    }    /**     * 下载文件     *     * @param fileUrl     * @return     * @throws Exception     */    public byte[] download(String fileUrl) throws Exception {        StorePath storePath = StorePath.praseFromUrl(fileUrl);        byte[] bytes = storageClient.downloadFile(storePath.getGroup(), storePath.getPath(), new DownloadByteArray());        return bytes;    }}

 

转载于:https://www.cnblogs.com/zengnansheng/p/10404692.html

你可能感兴趣的文章
【2012 - 百度之星资格赛 - A:百度计算器的加法】
查看>>
【历史十大黑客事件:不堪一击的系统】
查看>>
localstorage跟sessionstorage
查看>>
jquery toggle(listenerOdd, listenerEven)
查看>>
VisualStudio快捷键
查看>>
12月3日 第一篇日志
查看>>
实训作业1
查看>>
与操作
查看>>
SVN无法读取cruuent修复方法 Can't read file : End of file found 文件:txn_current、current...
查看>>
密码术基础
查看>>
清除浮动的五种方法
查看>>
java面试题 Web基础 BAT面试题系列 基础篇(十五)
查看>>
OS X 10.9 Mavericks下如何安装Command Line Tools(命令行工具)
查看>>
redis常用命令及结构
查看>>
Ubuntu下访问Windows中Postgresql
查看>>
mfc模态对话框
查看>>
DirectX 读书笔记(14) Cube mapping之SkyBox[转]
查看>>
移动端web开发初探之Vuejs的简单实战
查看>>
Team Project Proposal for ASE Course---query suggestion by 3D tag cloud
查看>>
IDEA2016.3搭建Struts2+Hibernate+Spring项目环境
查看>>