使用Jersey构建图片服务器过程解析

网友投稿 261 2022-12-25


使用Jersey构建图片服务器过程解析

这篇文章主要介绍了使用Jersey构建图片服务器过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前台页面代码

前台js代码

在Spring中配置图片转换器

创建UploadController以及工具类

package cn.itcast.core.controller.admin;

import java.io.IOException;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Random;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FilenameUtils;

import org.json.JSONObject;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.multipart.MultipartFile;

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

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

import cn.itcast.common.web.ResponseUtils;

import cn.itcast.core.web.Constants;

@Controller

public class UploadController {

// 上传图片

@RequestMapping(value = "/upload/uploadPic.do")

public void uploadPic(@RequestParam(required = false) MultipartFile pic, HttpServletResponse response) {

// 扩展名

String ext = FilenameUtils.getExtension(pic.getOriginalFilename());

// 图片名称生成策略

DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");

// 图片名称一部分

String format = df.format(new Date());

// 随机三位数

Random r = new Random();

// n 1000 0-999 99

for (iWmREMDTcnt i = 0; i < 3; i++) {

format += r.nextInt(10);

}

// 实例化一个Jersey

Client client = new Client();

// 保存数据库

String path = "upload/" + format + "." + ext;

// 另一台服务器的请求路径是?

String url = Constants.IMAGE_URL + path;

// 设置请求路径

WebResource resource = client.resource(url);

// 发送开始 POST GET PUT

try {

resource.put(String.class, pic.getBytes());

} catch (IOException e) {

e.printStackTrace();

}

// 返回二个路径

JSONObject jsonObject = new JSONObject();

jsonObject.put("url", url);

jsonObject.put("path", path);

ResponseUtils.renderJson(response, jsonObject.toString());

}

}

package cn.itcast.core.web;

public interface Constants {

/**

* 图片服务器

*/

public static final String IMAGE_URL = "http://localhost:8088/BabasportProject_ImageService/";

}

package cn.itcast.common.web;

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

public class ResponseUtils {

// 发送内容

public static void render(HttpServletResponse response, String contentType, String text) {

response.setContentType(contentType);

try {

response.getWriter().write(text);

} catch (IOException e) {

e.printStackTrace();

}

}

// 发送的是JSON

public static void renderJson(HttpServletResponse response, String text) {

render(response, "application/json;charset=UTF-8", text);

}

// 发送xml

public static void renderXml(HttpServletResponse response, String text) {

render(response, "text/xml;charset=UTF-8", text);

}

// 发送text

public static void renderText(HttpServletResponse response, String text) {

render(response, "text/plain;charset=UTF-8", text);

}

}

搭建另一个Tomcat,作为图片服务器

图片服务器Tomcat的设置 tomcat/conf/web.xml中内容更改

default

org.apache.catalina.servlets.DefaultServlet

debug&lWmREMDTct;/param-name>

0

readonly

false

listings

false

1

修改图片服务器的Tomcat的端口号

在BabasprotProject_ImageService项目的webapp目录下创建upload文件夹


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中的传值与传引用实现过程解析
下一篇:IDEA中的.iml文件和.idea文件夹
相关文章

 发表评论

暂时没有评论,来抢沙发吧~