java 上传图片 二进制保存到 mysql 请求图片二进制转化为图片 cxf rest jax-rs

1.上传   cxf rest 接口 图片转成二进制 保存到mysql  数据库的数据类型选择  blob

@POST
	@Path("/uploadimagebyte")
	@Consumes("multipart/form-data")
	public Response downloadFileByForm(
			@Multipart(value = "id", type = "text/plain") String id,
			@Multipart(value = "name", type = "text/plain") String name,
			@Multipart(value = "file", type = "image/png") Attachment image);

@Override
	public Response downloadFileByForm(
			@Multipart(value = "id", type = "text/plain") String id,
			@Multipart(value = "name", type = "text/plain") String name,
			@Multipart(value = "file", type = "image/png") Attachment image) {
		final int max_upsize = 200 * 1024; // 头像最大文件上传大小
		final int max_size = 60 * 1024; // 头像最大文件大小
		final int max_height = 600;
		final int max_weight = 600;
		try {
			// 将图片压缩并装入byte
		
			Image jimage = ImageIO
					.read(image.getDataHandler().getInputStream());
			int[] size = ImageUtil.getSize(max_weight, max_height, jimage);
			byte[] pic_bytes = ImageUtil.resize(size[0], size[1], 1f, jimage);
			System.out.println("photo size=" + pic_bytes.length);
			// 大小判断
			if (pic_bytes == null || pic_bytes.length > max_size) {
				// 不符合的话可以在这里返回 失败
				// 比如:
				// ResponseBuilder response = Response.status(500);
				// return response.build();
			}
			// 这里数据库入库
			// 构造Response
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		ResponseBuilder response = Response.ok();
		return response.build();
	}

引用的各种package 

import java.awt.Image;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileFilter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Date;
import java.util.List;

import javax.activation.DataHandler;
import javax.imageio.ImageIO;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.BeanParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import org.json.JSONObject;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.support.RequestContextUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;


2. 下载 保存图片 二进制转图片  

这里要用GET

@GET
	@Path(
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值