要實現Java圖片上傳功能,可以按照以下步驟進行:
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" value="上傳">
</form>
@WebServlet("/upload")
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 創建一個DiskFileItemFactory對象,用于將文件寫入磁盤
DiskFileItemFactory factory = new DiskFileItemFactory();
// 創建一個ServletFileUpload對象,用于解析上傳的文件數據
ServletFileUpload upload = new ServletFileUpload(factory);
try {
// 解析請求,獲取所有上傳的文件
List<FileItem> items = upload.parseRequest(request);
// 遍歷所有上傳的文件
for (FileItem item : items) {
if (!item.isFormField()) { // 如果是文件字段
// 獲取文件名
String fileName = item.getName();
// 獲取文件內容
InputStream fileContent = item.getInputStream();
// 將文件保存到服務器上,這里可以根據需要自定義保存的路徑和文件名
Files.copy(fileContent, Paths.get("upload/" + fileName), StandardCopyOption.REPLACE_EXISTING);
}
}
// 上傳成功后的處理邏輯,如返回上傳成功的消息或者進行其他操作
response.getWriter().write("上傳成功");
} catch (Exception e) {
// 上傳失敗后的處理邏輯,如返回失敗信息或者進行其他操作
response.getWriter().write("上傳失敗");
}
}
}
這樣,當用戶選擇圖片并點擊上傳按鈕時,選擇的圖片就會被發送到服務器,并保存到指定的目錄中。