访问FastDFS的JavaDemo

前言

建议完成 FastDFS和 Nginx配置后,再看本篇 https://blog.csdn.net/hailunw/article/details/118936670

1)创建Spring Project并添加依赖

 

 

2)创建fastDFS配置文件

3)创建文件上传对象类

4)创建FastDFS工具类

5) 修改FastDFS工具类,增加对文件的操作的逻辑

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我是一个语言模型AI,无法生成完整的Java代码。但是,我可以提供一些参考代码: ``` import java.io.File; import java.io.IOException; import java.io.InputStream; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.csource.common.NameValuePair; import org.csource.fastdfs.ClientGlobal; import org.csource.fastdfs.StorageClient1; import org.csource.fastdfs.StorageServer; import org.csource.fastdfs.TrackerClient; import org.csource.fastdfs.TrackerServer; public class FastDFSClient { private static TrackerClient trackerClient; private static TrackerServer trackerServer; private static StorageServer storageServer; private static StorageClient1 storageClient; static { try { String conf = FastDFSClient.class.getClassLoader().getResource("fdfs_client.conf").getFile(); ClientGlobal.init(conf); trackerClient = new TrackerClient(); trackerServer = trackerClient.getConnection(); storageServer = null; storageClient = new StorageClient1(trackerServer, storageServer); } catch (Exception e) { e.printStackTrace(); } } /** * 上传文件 * @param file 文件对象 * @param fileName 文件名 * @return 返回文件在FastDFS中的路径 */ public static String[] upload(File file, String fileName) { try { NameValuePair[] metaList = new NameValuePair[1]; metaList[0] = new NameValuePair("fileName", fileName); return storageClient.upload_file(file.getAbsolutePath(), FileUtils.getExtension(file.getName()), metaList); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 上传文件 * @param inputStream 文件输入流 * @param fileName 文件名 * @return 返回文件在FastDFS中的路径 */ public static String[] upload(InputStream inputStream, String fileName) { try { byte[] bytes = IOUtils.toByteArray(inputStream); NameValuePair[] metaList = new NameValuePair[1]; metaList[0] = new NameValuePair("fileName", fileName); return storageClient.upload_file(bytes, FileUtils.getExtension(fileName), metaList); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 删除文件 * @param filePath 文件路径 * @return 成功返回0,失败返回其它 */ public static int delete(String filePath) { try { return storageClient.delete_file(filePath); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return -1; } } ``` 以上代码是一个 FastDFS 的工具类,封装了上传和删除文件的方法。其中,上传文件的方法提供了两种方式,分别是通过文件对象和输入流。在这里,你可以根据你的实际需求进行选择。由于 FastDFS 上传文件时需要指定文件的元数据,因此在上传文件时,我们使用一个 NameValuePair 数组来存储元数据。在这里,我们只指定了一个文件名作为元数据。如果你需要添加其他元数据,可以根据需要进行修改。 在使用这个工具类时,你需要在 classpath 路径下添加一个名为 fdfs_client.conf 的配置文件,这个文件包含了 FastDFS 的配置信息。你可以在 FastDFS 的官网上下载最新的配置文件,并将其放在 classpath 路径下。如果你不知道如何配置这个文件,请参考 FastDFS 的官方文档。 以下是使用这个工具类上传文件的示例代码: ``` File file = new File("/path/to/your/video.mp4"); String fileName = "video.mp4"; String[] result = FastDFSClient.upload(file, fileName); if (result != null) { String filePath = result[0] + "/" + result[1]; System.out.println("File path: " + filePath); } else { System.out.println("Upload file failed."); } ``` 在这个示例中,我们指定了一个名为 video.mp4 的文件,并将其上传到 FastDFS 中。如果上传成功,我们就可以得到文件在 FastDFS 中的路径。在这里,我们将文件路径拼接成了一个字符串,其中 result[0] 是文件所在的组名,result[1] 是文件的路径名。你可以根据需要对这个字符串进行进一步处理。 希望这些代码可以对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值