fastdfs 图片服务器 使用java端作为客户端上传图片

之前有说道搭建fastdfs作为图片服务器,但是没有说明如何真正在代码里调用,那么今天大致讲一下,如何使用java客户端进行上传

首先你得要有一个客户端,导入到eclipse中即可

git地址如下:

https://github.com/leechenxiang/fastdfs-client-java

js:

$(function () {
    $('#fileupload').fileupload({
        dataType: 'json',
        done: function (e, data) {
            console.log(data);
            if (data.result.status != "200") {
                alert(data.result.msg);
            } else {
                $.each(data.result.data, function (index, file) {
                  $("#lee").html("<a href='" + file.url + "' target='_blank'><img src='" + file.url + "' width='80' hight='80'></img></a>");
                  $("#picUrl").attr("value", file.urlDB);
              });
            }
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .bar').css(
                'width',
                progress + '%'
            );
           },
        dropZone: $('#dropzone')
    });
});

html:

<input id="fileupload" type="file" name="files[]" data-url="/file/upload.action" multiple>

    <div id="dropzone" class="fade well">Drop files here</div>

    <div id="progress" class="progress">
        <div class="bar" style="width: 0%;"></div>
    </div>

    <div id="lee"></div>

controller:

@RequestMapping(value="/upload", method = RequestMethod.POST)
    @ResponseBody
    public LeeJSONResult upload(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {

        List<PictureResult> picList = new ArrayList<PictureResult>();

        Iterator<String> itr = request.getFileNames();
        MultipartFile mpf = null;
        while (itr.hasNext()) {
            mpf = request.getFile(itr.next());
            PictureResult pic = pictureService.uploadPic(mpf);
            picList.add(pic);
        }

        return LeeJSONResult.ok(picList);
    }

service:

@Value("${IMAGE_SERVER_BASE_URL}")
    private String IMAGE_SERVER_BASE_URL;

    @Value("${SERVER_PATH}")
    private String SERVER_PATH;

    @Override
    public PictureResult uploadPic(MultipartFile picFile) {
        PictureResult result = new PictureResult();
        // 判断图片是否为空
        if (picFile.isEmpty()) {
            result.setError(YesOrNo.YES.value);
            result.setMessage("图片为空");
            return result;
        }
        // 上传到图片服务器
        try {
            // 取图片扩展名
            String originalFilename = picFile.getOriginalFilename();
            // 取扩展名不要“.”
            String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
            FastDFSClient client = new FastDFSClient("classpath:resource/client.conf");
            String url = client.uploadFile(picFile.getBytes(), extName);
            // 把url响应给客户端
            result.setError(YesOrNo.NO.value);
            result.setUrlDB(url);
            result.setUrl(IMAGE_SERVER_BASE_URL + url);
        } catch (Exception e) {
            e.printStackTrace();
            result.setError(YesOrNo.YES.value);
            result.setMessage("图片上传失败");
        }
        return result;
    }

最后配置:

tracker_server=192.168.1.188:22122

 

时间: 2024-11-13 06:46:19

fastdfs 图片服务器 使用java端作为客户端上传图片的相关文章

服务器-急求c++builder服务端和客户端间收发70M大小的图片,怎么实现???

问题描述 急求c++builder服务端和客户端间收发70M大小的图片,怎么实现??? 用TMemoryStream会out of memory,应该实现? 解决方案 分割成小块,传输的时候先传文件大小的整数,客户端开辟一个这么大的文件. 然后依次传输每一个数据块,比如128K.客户端移动文件指针,把数据块写入指定位置. http://download.csdn.net/download/future_ok/4090832 解决方案二: java实现Thrift服务端和客户端

线程-使用Java socket让客户端与服务器建立连接后,服务器如何判断来自客户端的各类请求

问题描述 使用Java socket让客户端与服务器建立连接后,服务器如何判断来自客户端的各类请求 初学java,目前写了一个服务端和一个客户端.大致了解了如何socket通信是如何操作的,并且初步实现了客户端和服务端的通信.也仅仅是是接受和返回简单的字符串.部分代码如下 public void run(){ try{ serverSocket=new ServerSocket(SERVER_PORT_ONE); System.out.println("serversocket已创建"

java-一个简单的Java服务端,客户端的demo中的问题。

问题描述 一个简单的Java服务端,客户端的demo中的问题. 首先说我的问题:我需要用java做一个服务器端,当客户端发过一条请求来以后,服务器端开始每隔1s对客户端发送一个字符串. 然后说我的思路: 这是服务端. public static void main(String[] args) { String temp; try { while (true) { ServerSocket ss = new ServerSocket(30000); // 每当接受到客户端socket的请求,服务

聊天室-关于java的聊天程序,分服务端和客户端,请java大神帮我调试一下,我检查没编写错误

问题描述 关于java的聊天程序,分服务端和客户端,请java大神帮我调试一下,我检查没编写错误 //服务端 package chatApp; import java.net.*; import java.io.*; import java.util.*; public class chatserverthree implements Runnable { public static final int PORT=1234; protected ServerSocket listen; stat

html5图片缓存-java后台,客户端是ipad,请问怎么图片缓存到本地

问题描述 java后台,客户端是ipad,请问怎么图片缓存到本地 客户使用ipad通过谷歌浏览器访问网页,网页有大量的图片,为了提高访问速度,怎么把图片第一次缓存到本地,以后访问的时候如果缓存里有这个图片就先访问缓存,如果没有就找网络的图片

java这个简单的服务器我要如何读取客户端的输入信息?

问题描述 java这个简单的服务器我要如何读取客户端的输入信息? import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.InetSocketAddress;import java

c++-C++ http服务器与 java客户端的问题

问题描述 C++ http服务器与 java客户端的问题 老大 让我用C++写http服务器,让java的人写客户端 我们在完工后进行对调,不知道为什么 他向我进行url请求时候 我能解析出来进行一系列处理 发送的时候 他那边总是报错 第一次 我先发响应头的信息 类似于 --"HTTP/1.1 200 OK Server:........ 然后再发html文本的内容 ,他那边接收类型是html类型 但是总是接收不到,显示error,显示出来还是空的. 第二次 我设置纯文本类型 我就直接把字符串发

java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端

  java程序员菜鸟进阶(九)windows下搭建SVN服务器及配置myeclipse SVN客户端 分类: 学习专区 java Web    1.下载SVN最新版本安装文件,官网下载地址是:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100,选择最新发布的SVN安装文件进行下载.最新版本是Setup-Subversion-1.6.5.msi,大小7.4MB,安装SVN至我的电脑.最好使用中文路径,而且

代理-xl2tpd客户端连接vpn服务端,客户端能够ping通服务器,ppp节点消失又重新出现?

问题描述 xl2tpd客户端连接vpn服务端,客户端能够ping通服务器,ppp节点消失又重新出现? xl2tpd客户端连接xl2tpd服务端,能连接上,客户端总能够ping通vpn server的ip,但好像总是断线,ppp节点消失一会又重新出现,又消失一会又重新出现,断断续续,且大部分处于ppp节点消失状态,网上说可能是由于无法访问vpn server的ip,但我这里总能够访问,哪位好心人如果知道,请帮助我,非常谢谢**** 我的xl2tpd版本: xl2tpd version: xl2tp