之前有说道搭建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

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

  1. java连接Fastdfs图片服务器上传失败的解决方法

    照着视频上做,但是却连接不了虚拟机linux上的图片服务器,估计是linux防火墙的问题(这个实在是神烦,前面有好几次连接不了都是因为linux防火墙),果不其然,关闭即可. Linux关闭防火墙的命 ...

  2. FastDFS图片服务器搭建

    *FastDFS图片服务器搭建准备:1.需要libfastcommon安装包 选择最新稳定版(libfastcommon-1.0.36.tar.gz)2.需要FastDFS安装包 选择最新稳定版(fa ...

  3. FastDFS图片服务器(分布式文件系统)学习。

    参考:https://blog.csdn.net/hiqingtian/article/details/79413471 https://blog.csdn.net/sinat_40399893/ar ...

  4. [转帖]FastDFS图片服务器单机安装步骤

    FastDFS图片服务器单机安装步骤 https://www.cnblogs.com/yuesf/p/11847103.html 前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDF ...

  5. FastDFS图片服务器java后台的简单调用

    工具类: package com.liveyc.common.fdfs; import org.apache.commons.io.FilenameUtils; import org.csource. ...

  6. 分享知识-快乐自己:FastDFS 图片服务器的搭建

    使用一台虚拟机来模拟,只有一个Tracker.一个Storage服务,配置nginx访问图片. 1):安装依赖包 yum -y install zlib zlib-devel pcre pcre-de ...

  7. FastDFS图片服务器单机安装步骤

    前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDFS组件中单机安装流程. 单机版架构图 以下为单机FastDFS安装步骤 一.环境准备 CentOS 7.X libfastcomm ...

  8. FastDFS图片服务器单机安装步骤(修订版)

    前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDFS组件中单机安装流程. 单机版架构图 以下为单机FastDFS安装步骤 一.环境准备 CentOS 7.X libfastcomm ...

  9. FastDFS图片服务器

    首先要转一个FastDFS,这个很难装.一般由运维人员安装. git项目fastdfs-client-java由happy fish开发的,down下来后import到项目中maven install ...

随机推荐

  1. 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法

    最近在cocos2d-js下捣腾Dragonbones.转一个文章,大家可以参考安装Dragonbones.关于这个Dragonbones,5月份的时候还用得好好的,cocos2d-js还能妥妥的加载 ...

  2. 改变mysql客户端输出的字符串编码

    在客户端改变中文输出的编码,通常以gbk输出,因为电脑常见的是gbk编号形式 目的:不改变编码,输出中文的时候,可能会出现乱码的情况, set names gbk 在客户端以gbk编码显示需要输出的内 ...

  3. django之创建第3个项目:编写第一个模板文件

    1.django结构 2.在站点blog下创建templates文件夹,专门用于存放模板文件 3.在templates文件夹下创建index.html文件 #index.html <!DOCTY ...

  4. 触发JVM进行Full GC的情况及应对策略

    堆内存划分为 Eden.Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为M ...

  5. DHCP 服务测试

    DHCP三个端口: 服务端:UDP 67 客户端:UDP 68 DHCPv6 客户端:UDP 546,这是需要特别开启的 DHCP failover 服务,用来做双机热备的. 实验一.DHCP服务器基 ...

  6. 【TP3.2+onethink1.0】2个Ueditor 回显数据,第2个会把第1个覆盖

    1.最近在使用onethink1.0 框架进行二次开发,在编辑页面,生成2个ueditor 在数据回显的时候,发现第2个ueditor的数据会覆盖第1个ueditor,咋办? 2.原因: 3.解决方法 ...

  7. uri.js的用法事例

    来源于:http://smoothprogramming.com/tutorials/get-set-query-string-values-from-url-using-uri-js/ Get or ...

  8. ios中NSObject分类

    #import <Foundation/Foundation.h> #define BUNDLE_PATH_IMAGENAME(c) [[NSBundle mainBundle] path ...

  9. mvn jetty debug

    使用mvn jetty:run很爽吧,但是怎么debug了,找了Google的N多老外文章,终于可以了,文章链接:http://gaertig.pl/blog/en/2009/03/debug-jet ...

  10. Nginx官方版本说明##Mainline &Stable&Legacy versions

    Nginx (Mainline Stable Legacy)区别 Nginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发 ...