java 图形处理库_java中处理图片的类库

拷贝一下代码,以后备用:import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.methods.GetMethod;

import com.aa.bb.Constants;

import com.aa.bb.util.ImageUtil;

import com.aa.bb.util.StringUtil;

import com.aa.bb.util.upload.GetURLUtil;

import com.aa.bb.util.upload.HandleUploadeFile;

import com.aa.bb.util.upload.MD5;

public class UDArticleImagesAction extends HttpServlet {

/**

* Constructor of the object.

*/

public UDArticleImagesAction() {

super();

}

/**

* The doPost method of the servlet.

*

* This method is called when a form has its tag value method equals to post.

*

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

request.setCharacterEncoding("UTF-8");

PrintWriter out = response.getWriter();

String body = request.getParameter("body");

String path = getServletContext().getRealPath(GetURLUtil.getWebArticleAffixPath() +

GetURLUtil.getPath() + Constants.YEAR  + GetURLUtil.getPath() +

Constants.MONTH);

String fileName;

// 文章内容非空

if(!StringUtil.isBlank(body)) {

// 取得文章中所有IMG标签

List imgList = ImageUtil.getImgSrc(body);

HttpClient client = new HttpClient();

// 遍历下载并重命名

for(String img : imgList) {

// 取得URL中的文件名

fileName = img.split("/")[img.split("/").length - 1];

// get方法取得图片

GetMethod get = new GetMethod(img);

client.executeMethod(get);

// 建立文件存储路径

HandleUploadeFile.checkDirectoryAndCreateDirectory(path);

//图片名称

String imgName = MD5.getImgName(fileName);

// 存储文件

//                System.out.println(path + "\\" + MD5.getImgName(fileName));

//                File storeFile = new File(path + "\\" + MD5.getImgName(fileName));

System.out.println(path + "\\" + imgName);

File storeFile = new File(path + "\\" + imgName);

FileOutputStream output = new FileOutputStream(storeFile);

//得到网络资源的字节数组,并写入文件

output.write(get.getResponseBody());

output.close();

// 初始化新图片本地URL

String imgUrl = "http://" + request.getServerName();

if(request.getServerPort() != 80) {

imgUrl += ":" + request.getServerPort();

}

imgUrl += "/cms" + GetURLUtil.getWebArticleAffixPath() +

"/" + Constants.YEAR + "/" + Constants.MONTH + "/" + imgName;

System.out.println(imgUrl);

// 替换到原文章内容

body = StringUtil.replaceAll(body, img, imgUrl);

}

System.out.println(body);

out.println(body);

}

out.flush();

out.close();

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("123");

out.flush();

out.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值