目录
前期准备
本文使用的开发环境是NetBeans,生成的“.war”文件是挂载在Tomcat中运行的,因此需要先配置好NetBeans以及Tomcat。
Servlet文件编写
具体代码如下:
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Base64;
import java.util.HashMap;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
/**
*
* @author admin
*/
public class ImageServlet extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 设置响应内容类型
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
try (PrintWriter out = response.getWriter()) {
//获得传输来的图片数据(String类型形式)
String image = request.getParameter("Image").trim();
Base64.Decoder decoder = Base64.getMimeDecoder();
byte[] byteArray = decoder.decode(image);
ByteArrayInputStream byStream = new ByteArrayInputStream(byteArray);
BufferedImage bil=ImageIO.read(byStream);
//将输出流转换为JPG格式
ImageIO.write(bil, "jpg", new File("C:\\study\\Pictures\\test.jpg"));
//关闭字节流
byStream.close();
//向客户端回送成功标志
java.util.Map<String, String> params = new HashMap<>();
JSONObject jsonObject = new JSONObject();
params.put("InsertResult", "success");
jsonObject.put("params", params);
out.write(jsonObject.toString());
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
注:
1.代码中的文件地址:“C:\study\Pictures\test.jpg”,为了方便演示直接写成固定格式。大家可以根据需要进行修改。
2.一定要记得关闭字节流,否则会导致服务器端程序出错。
3.代码编写完成后,将该项目“清理并构建”,生成“.war”文件,然后挂载到Tomcat中的“webapps”文件夹下,即可运行。
——————————————————————————
最后贴一下我的个人公众号:微信搜索“茶迁”或扫描下图。平时会在上面更新一些编程相关的文章,欢迎大家关注~