JSP網頁往MySQL中添加圖片是Web開發中常見的需求。本文將介紹如何在JSP網頁中上傳圖片,并將圖片保存到MySQL數據庫中。
首先,需要在JSP網頁中添加一個文件上傳表單。在HTML中,可以使用<input type="file">來創建文件上傳控件。
<form action="upload.jsp" method="post" enctype="multipart/form-data"><input type="file" name="file"> <input type="submit" value="Upload"> </form>
然后,在JSP網頁的Server-side腳本中,處理上傳的圖片文件并將其保存到MySQL數據庫中。
<%@ page import="java.io.*, java.sql.*" %> <%@ page contentType="text/html;charset=UTF-8" %> <%! public String saveImage( InputStream inputStream, String fileName ) { try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); PreparedStatement ps = con.prepareStatement("INSERT INTO images (name,image) VALUES (?,?)"); ps.setString(1, fileName); ps.setBinaryStream(2, inputStream, inputStream.available()); ps.executeUpdate(); ps.close(); con.close(); } catch(Exception ex) { ex.printStackTrace(); return "Error: " + ex.getMessage(); } return null; } %> <%! public void processImageUpload() throws IOException { Part filePart = request.getPart("file"); // 獲取上傳的文件 String fileName = filePart.getSubmittedFileName(); // 獲取上傳的文件名 InputStream inputStream = filePart.getInputStream(); // 獲取上傳的文件流 saveImage(inputStream, fileName); // 將上傳的圖片保存到MySQL數據庫 out.println("Upload successful!"); } %> <% if ( request.getMethod().equals("POST") ) { try { processImageUpload(); // 處理上傳圖片文件 } catch (Exception ex) { ex.printStackTrace(); } }%>
以上代碼會將上傳的圖片保存到名為"images"的MySQL表中,并將圖片文件的名稱保存到數據庫中。如果添加圖片成功,則在JSP網頁中輸出"Upload successful!"的提示信息。
總之,JSP網頁往MySQL中添加圖片是一項比較有用的技術,在Web應用中也經常用到。希望以上介紹對你的學習有所幫助。