1. 程式人生 > 其它 >Java Web程式實現將String型別資料轉換成JPG圖片並存儲在資料夾中

Java Web程式實現將String型別資料轉換成JPG圖片並存儲在資料夾中

技術標籤:Android開發javatomcatservlethttpandroid

目錄

前期準備

本文使用的開發環境是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”資料夾下,即可執行。