1、客户端的需要的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