FastDFS 工具类实现文件上传_02

一、jar 包 

  jar包下载:https://pan.baidu.com/s/1nwkAHU5 密码:tlv6

  或者

  下载工程,安装到 maven 本地仓库

  工程下载:https://pan.baidu.com/s/1i6SIm3b 密码:jkjt

二、工具类代码

package com.common.fastFDS;

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 TrackerClient trackerClient = null;
    private TrackerServer trackerServer = null;
    private StorageServer storageServer = null;
    private StorageClient1 storageClient = null;

    public FastDFSClient(String conf) throws Exception
    {
        if (conf.contains("classpath:"))
        {
            conf = conf.replace("classpath:", this.getClass().getResource("/").getPath());
        }
        ClientGlobal.init(conf);
        trackerClient = new TrackerClient();
        trackerServer = trackerClient.getConnection();
        storageServer = null;
        storageClient = new StorageClient1(trackerServer, storageServer);
    }

    /**
     * 上传文件方法
     * <p>Title: uploadFile</p>
     * <p>Description: </p>
     * @param fileName 文件全路径
     * @param extName 文件扩展名,不包含(.)
     * @param metas 文件扩展信息
     * @return
     * @throws Exception
     */
    public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception
    {
        String result = storageClient.upload_file1(fileName, extName, metas);
        return result;
    }

    public String uploadFile(String fileName) throws Exception
    {
        return uploadFile(fileName, null, null);
    }

    public String uploadFile(String fileName, String extName) throws Exception
    {
        return uploadFile(fileName, extName, null);
    }

    /**
     * 上传文件方法
     * <p>Title: uploadFile</p>
     * <p>Description: </p>
     * @param fileContent 文件的内容,字节数组
     * @param extName 文件扩展名
     * @param metas 文件扩展信息
     * @return
     * @throws Exception
     */
    public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception
    {

        String result = storageClient.upload_file1(fileContent, extName, metas);
        return result;
    }

    public String uploadFile(byte[] fileContent) throws Exception
    {
        return uploadFile(fileContent, null, null);
    }

    public String uploadFile(byte[] fileContent, String extName) throws Exception
    {
        return uploadFile(fileContent, extName, null);
    }
}

 三、测试代码

@Test
public void testFastFDSClient() throws Exception
{
    //1.创建一个配置文件 client.conf (该文件名任意)
    //配置文件内容:tracker_server=192.168.**.**:22122 (你自己 FastDFS 服务器 ip+端口号)

    //2.创建 fastDFSClient 实例
    FastDFSClient fastDFSClient = new FastDFSClient("E:/workspaces/conf/client.conf");

    //3.执行图片上传,并返回图片路径
    String string = fastDFSClient.uploadFile("C:/waiguoren.jpg");
    System.out.println(string);
}

四、

 可以借鉴:http://www.cnblogs.com/fangwu/p/8367293.html

原文地址:https://www.cnblogs.com/fangwu/p/8367318.html

时间: 2024-10-04 15:41:05

FastDFS 工具类实现文件上传_02的相关文章

文件上传工具类——傻瓜式上传文件

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6128382.html 在前面  (http://www.cnblogs.com/ygj0930/p/6073505.html)  我们提到过Javaweb开发的文件上传功能的实现,需要借助第三方jar包,并且要创建factory呀.设置临时文件区路径呀等等,十分繁琐.而作为一个开发人员,不可能每次实现文件上传时都从头到尾做那么多工序.这时候,我们可以把这些繁琐的工作封装起来,把一个个功能做成以供调用的方法.

java http工具类和HttpUrlConnection上传文件分析

利用java中的HttpUrlConnection上传文件,我们其实只要知道Http协议上传文件的标准格式.那么就可以用任何一门语言来模拟浏览器上传文件.下面有几篇文章从http协议入手介绍了java中上传文件. Java使用HttpURLConnection上传文件 使用HttpUrlConnection进行post请求上传文件 封装HttpClient4.3.x包括文件上传 使用 HttpClient 4 进行文件上传 httpclient4教程 下面分享一个自己封装的http工具类(暂不直

fastDFS与java整合文件上传下载

准备 下载fastdfs-client-java源码 源码地址 密码:s3sw 修改pom.xml 第一个plugins是必需要的,是maven用来编译的插件,第二个是maven打源码包的,可以不要. <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactI

PHP异常处理类(文件上传提示)

知识点: 大部分时候我们的代码总有各种各样的bug,新手程序员(比如我)最经常的工作就是不停的报错和echo变量,一个好的异常处理类可以帮我们更快+更容易理解报错代码的问题,同时,异常处理还可以避免一些因为程序错误而泄露网站重要信息内容的提示(比如文件报错,会弹出根目录),此外异常处理还可以协助项目上的正则验证,文件上传提示,访问权限控制等提高项目体验的功能. 代码: <?phpheader("Content-type: text/html; charset=utf-8");/*

selenium2 python自动化测试之利用AutoIt工具实现本地文件上传

本人在学习基于python语言的selenium2自动测试方法的过程中,发现涉及本地上传文件的测试时,selenium2在定位本地window窗口的对象(元素)上能力有限.当上传按钮使用的是input标签时,可以使用send_keys()方法添加本地文件路径轻松实现,但有的上传控件使用的不是input元素,这个时候send_keys()方法是行不通的.经过网上搜索加上自己实践,总结出一个非常简单而有效的方法--借用AutoIt工具实现自动化本地上传文件,在此与大家分享. 1.AutoIt介绍及安

利用SecureCRT工具将本地文件上传到虚拟机的linux系统上

1.启动虚拟机,打开Linux终端,输入ifconfig命令查看IP地址 2.使用SecureCRT上传文件(1)连接虚拟机,输入第一步的ip地址和虚拟机的登录账号(2)输入虚拟机的登录账号.密码 (3)登录成功显示的界面(4)点击已连接窗口,右键选择连接sftp (4)将对应的文件拖入该窗口(4)该文件上传成功,在root目录下 原文地址:https://blog.51cto.com/13729775/2419638

一次替换FastDFS数据目录引发的文件上传和访问异常

1.图片访问异常 问题描述 搭建一台新环境的FastDFS文件服务器,刚搭建好的时候,上传了一张图片,正常,但是因为当时端口没有开,没有验证访问的问题.环境暂时搁置等待测试.后来在测试环节,因为需要上传的图片文件太多,因此直接将生产环境的dfs的数据目录拷贝过去,替换了新环境的数据目录,同时以下文件还是用的新环境原有的文件( /data/dfs就是数据目录): /data/dfs/tracker 目录 /data/dfs/group1/data/fdfs_storaged.pid/data/df

用angularjs进行文件上传

文件上传页面三要素: 1.  form表单提交方式一定是post 2.  form表单的enctype一定是multipart/form-data 3.  form表单中一定要有一个input的type是 file 文件上传一定要有的jar Commons-io和commons-fileupload Springmvc文件上传: 1.  springmvc.xml中一定要有 多媒体解析器 <bean id="multipartResolver" class="org.s

JavaWeb 后端 &lt;十四&gt; 文件上传下载

1.文件上传与下载 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 1.1 文件上传 文件上传,要点: 前台: 1. 提交方式:post 2. 表单中有文件上传的表单项: <input type=”file” /> 3. 指定表单类型: 默认类型:enctype="application/x-www-form-urlencoded" 文件上传类型:enctype =”multipart/