Java怎么实现整合文件上传到FastDFS
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍Java怎么实现整合文件上传到FastDFS,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.引入fastdfs依赖到pom.xml
千家信息网最后更新 2026年11月04日Java怎么实现整合文件上传到FastDFS
这篇文章主要介绍Java怎么实现整合文件上传到FastDFS,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1.引入fastdfs依赖到pom.xml
com.github.tobato fastdfs-client 1.26.5
2.上传代码如下
上传纯文件流
/** * 文件上传 * @param file MultipartFile类型 * @return url */ @Override public String fileUpload(MultipartFile file) throws Exception { try { return upload(file); } catch (Exception e) { e.printStackTrace(); } throw new Exception(); }上传网络资源链接:
/** * 文件上传 * @param urlStr url地址 * @return url */ @Override public String fileUpload(String urlStr) throws Exception { try { //把地址转换成URL对象 URL url = new URL(urlStr); //创建http链接 HttpURLConnection conn = (HttpURLConnection)url.openConnection(); //设置超时间为3秒 conn.setConnectTimeout(3*1000); //防止屏蔽程序抓取而返回403错误 conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)"); //得到输入流 InputStream inputStream = conn.getInputStream(); //截取链接中的文件名 String fileName= urlStr.substring(urlStr.lastIndexOf("/")+1); MultipartFile multipartFile = new MockMultipartFile(fileName,fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); //返回结果集 return upload(multipartFile); } catch (Exception e) { e.printStackTrace(); } throw new Exception(); }整体代码如下:
package com.tfjybj.arpro.crawl.service.impl; import com.github.tobato.fastdfs.domain.fdfs.StorePath;import com.github.tobato.fastdfs.service.FastFileStorageClient;import com.tfjybj.arpro.crawl.service.FileUploadService;import com.tfjybj.arpro.crawl.util.CommonConfigurationUtil;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import org.apache.http.entity.ContentType;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.mock.web.MockMultipartFile;import org.springframework.stereotype.Service;import org.springframework.web.multipart.MultipartFile; import java.io.*;import java.net.HttpURLConnection;import java.net.URL; /** * 文件上传业务类 * * @author Promsing(张有博) * @version 1.0.0 * @since 2022/2/25 - 20:01 */@Service@Slf4jpublic class FileUploadServiceImpl implements FileUploadService { @Autowired private FastFileStorageClient fastFileStorageClient; // 获取配置文件中的配置IP地址 @Value("${fdfs.realIp}") private String realIp; // 获取配置文件中的配置分组 @Value("${fdfs.groupName}") private String group; /** * 文件上传 * @param file MultipartFile类型 * @return url */ @Override public String fileUpload(MultipartFile file) throws Exception { try { return upload(file); } catch (Exception e) { e.printStackTrace(); } throw new Exception(); } /** * 文件上传 * @param urlStr url地址 * @return url */ @Override public String fileUpload(String urlStr) throws Exception { try { //把地址转换成URL对象 URL url = new URL(urlStr); //创建http链接 HttpURLConnection conn = (HttpURLConnection)url.openConnection(); //设置超时间为3秒 conn.setConnectTimeout(3*1000); //防止屏蔽程序抓取而返回403错误 conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)"); //得到输入流 InputStream inputStream = conn.getInputStream(); //截取链接中的文件名 String fileName= urlStr.substring(urlStr.lastIndexOf("/")+1); MultipartFile multipartFile = new MockMultipartFile(fileName,fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); //返回结果集 return upload(multipartFile); } catch (Exception e) { e.printStackTrace(); } throw new Exception(); } /** * 文件上传 * @param file 需要上传的文件 * @return 上传后的文件地址 */ public String upload(MultipartFile file) { try { // 1.文件信息校验 if (file.isEmpty()) { log.debug("需要上传的文件信息不通过"); return null; } // 2.保存图片到fastDFS服务器 //2.1 获取文件后缀名 String extension = StringUtils.substringAfterLast(file.getOriginalFilename(), "."); //2.2 保存 StorePath storePath = fastFileStorageClient.uploadFile(group, file.getInputStream(), file.getSize(), extension); // 获取附件的完整地址 String Path = CommonConfigurationUtil.HTTP + CommonConfigurationUtil.ECOLON + CommonConfigurationUtil.DOUBLE_SLASH + realIp + CommonConfigurationUtil.SINGLE_SLASH + storePath.getFullPath(); log.info("文件上传成功,文件地址:" + Path); return Path; } catch (Exception ex) { ex.printStackTrace(); return null; } } }3.配置文件如下
# 文件服务器基础配置fdfs: groupName: ar so-timeout: 1500 connect-timeout: 600 tracker-list: d-fastdfs.xxxx.com:22122 replace-ip: source: d-fastdfs.xxxx.com dest: d-fastdfs.xxxx.com realIp: d-fastdfs.xxxx.com
4.上传效果如下

无论是纯文件上传还是以网络资源链接的形式上传都是文件流上传的形式。
以上是"Java怎么实现整合文件上传到FastDFS"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
文件
地址
链接
配置
整合
代码
信息
内容
对象
形式
文件名
服务器
程序
篇文章
类型
结果
网络
网络资源
资源
错误
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
互联网金融科技
华服互联网科技靠谱吗
互联网科技公司起名
深圳科技互联网
中国 科技 互联网
互联网与新科技
广州互联网络科技有限公司
撒么互联网科技公司
互联网科技英文翻译
互联网和黑科技的看法
昭通互联网科技选哪家
互联网科技公司有风险吗
互联网数据科技专业
互联网安防科技感
下一代互联网重大应用科技园
东营紫格互联网科技
上海同邻互联网科技有限公司规模
互联网金融运营模式中的金融科技
恒生科技指数 中概互联网
为想互联网科技怎么样
互联网科技资迅
时间互联网络科技
友谊互联网络科技
深圳天众互联网科技公司
互联网科技公司实习生
中国新注册互联网科技
杭州融税互联网科技有限公司
高科技和互联网的现代国家
颐高云石互联网科技