日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Web——图像上传

發布時間:2025/3/21 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Web——图像上传 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、jsp中:

1 <body> 2 <!-- 注意: 1. type="file"; 2.method="post" ; 3.enctype="multipart/form-data" --> 3 <form action="UploadServlet" method="post" enctype="multipart/form-data"> 4 雇員編號:<input type="text" name="empno"/><br/><br/> 5 雇員姓名:<input type="text" name="ename"/><br/><br/> 6 所在部門: 7 <select name="deptno"> 8 <option value="10">銷售部</option> 9 <option value="20">IT部</option> 10 <option value="30">人力部</option> 11 </select><br/><br/> 12 驗證碼:<input type="text" name="code"><img id="code" alt="請刷新" src="validateCodeServlet" οnclick="changeCode()" style="cursor:hand;"><a href="javascript:changeCode()">換一張</a><br/><br/> 13 14 15 頭像:<input type="file" name="uploadFile"> 16 <img src="${image_path}" title="${image_name}" width="200" height="200"> 17 <br/><br/> 18 19 <input type="reset" value="重置"/> 20 <input type="submit" value="注冊"/> 21 </form> 22 </body> 23 </html>

?

?

?

二、導入工具包

?

三、servlet中取得數據

?

package servlet;import java.io.File; import java.io.IOException; import java.util.Date; import java.util.Iterator; import java.util.List;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;/*** Servlet implementation class UploadServlet*/ @WebServlet("/UploadServlet") public class UploadServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//判斷上傳表單是否為multipart/form-data類型if(ServletFileUpload.isMultipartContent(request)){try {//1. 創建DiskFileItemFactory對象,設置緩沖區大小和臨時文件目錄DiskFileItemFactory factory = new DiskFileItemFactory();//System.out.println(System.getProperty("java.io.tmpdir"));//默認臨時文件夾//2. 創建ServletFileUpload對象,并設置上傳文件的大小限制。ServletFileUpload sfu = new ServletFileUpload(factory);sfu.setSizeMax(10*1024*1024);//以byte為單位 不能超過10M 1024byte = 1kb 1024kb=1M 1024M = 1Gsfu.setHeaderEncoding("utf-8");//3. 調用ServletFileUpload.parseRequest方法解析request對象,得到一個保存了所有上傳內容的List對象。List<FileItem> fileItemList = sfu.parseRequest(request);Iterator<FileItem> fileItems = fileItemList.iterator();//4. 遍歷list,每迭代一個FileItem對象,調用其isFormField方法判斷是否是上傳文件while(fileItems.hasNext()){FileItem fileItem = fileItems.next();//普通表單元素if(fileItem.isFormField()){String name = fileItem.getFieldName();//name屬性值String value = fileItem.getString("utf-8");//name對應的value值 System.out.println(name + " = "+value);}//<input type="file">的上傳文件的元素else{String fileName = fileItem.getName();//文件名稱System.out.println("原文件名:" + fileName);//Koala.jpg String suffix = fileName.substring(fileName.lastIndexOf('.'));System.out.println("擴展名:" + suffix);//.jpg//新文件名(唯一)String newFileName = new Date().getTime() + suffix;System.out.println("新文件名:" + newFileName);//image\1478509873038.jpg//5. 調用FileItem的write()方法,寫入文件File file = new File(request.getServletContext().getRealPath("image")+"\\"+newFileName);System.out.println(file.getAbsolutePath());fileItem.write(file);//6. 調用FileItem的delete()方法,刪除臨時文件 fileItem.delete();/** 存儲到數據庫時注意* 1.保存源文件名稱 Koala.jpg* 2.保存相對路徑 image/1478509873038.jpg* */request.setAttribute("image_name",fileName);request.setAttribute("image_path","image/"+newFileName);request.getRequestDispatcher("/upload.jsp").forward(request, response);}}} catch (FileUploadException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}}}

?

轉載于:https://www.cnblogs.com/ccw95/p/6040256.html

總結

以上是生活随笔為你收集整理的Java Web——图像上传的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。