使用Jersey实现应用服务器和图片服务器分离

1、客户端的需要的jar文件


     需要的jar包下载


2、客户端的代码

package com.jersey.com;

import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;

public class JerseyUpload {
	public static void main(String[] args) {

		// 1.获取上传文件的路径
		String filePath = "D:\\01.jpg";
		// 2.利用common-io的工具类处理,获取上传文件的扩展名称
		String fileExt = FilenameUtils.getExtension(filePath);
		// 3.生成随机的文件名称
		DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");
		// 3.1.图片名称一部分
		String format = df.format(new Date());
		// 3.2.随机三位数
		Random r = new Random();
		for (int i = 0; i < 3; i++) {
			format += r.nextInt(10);
		}
		// 3.3图片要保存到的tomcat目录下的path路径
		String path = "upload/" + format + "." + fileExt;
		// 4.图片要保存的tomcat的地址信息
		String url = "http://localhost:8080/FileStore/" + path;
		// 5.实例化一个Jersey
		Client client = new Client();
		// 6.设置请求路径
		WebResource resource = client.resource(url);
		// 7.发送图片到tomcat服务器
		try {
			byte[] buf = FileUtils.readFileToByteArray(new File(filePath));
			// PUT,向指定的目录上传附加文件
			resource.put(String.class, buf);
		} catch (Exception e) {
			e.printStackTrace();
		}
		// 8.在实际开发里中,要将图片服务器的地址和图片的存放路径,以json的形式返回
		// 8.1 定义一个JavaBean,并且以Json的形式返回就可以了
		System.out.println("文件上传完成");
	}
}


3、要建立一个Web项目,并保证在Tomcat服务器运行.并且项目里面含有upload文件夹

      在这个例子里面,Tomcat服务器运行的图片服务器的Web项目为FileStore


4、再发布工程到Tomcat前,要修改Tomcat的web.xml配置文件,增加下面的内容,因为readonly参数默认是true,即不允许delete和put操作,

  <servlet>
        
        <init-param>
            <param-name>readonly</param-name>
            <param-value>false</param-value>
        </init-param>
        
    </servlet>


5、理解PUT方法的使用

PUT,向指定的目录上传附加文件


6、源码下载


7、参考博客地址

http://blog.csdn.net/qq_31951571/article/details/49949473


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值