您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“javaweb怎么實(shí)現(xiàn)文件上傳功能”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“javaweb怎么實(shí)現(xiàn)文件上傳功能”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
1.創(chuàng)建文件上傳頁(yè)面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>文件上傳頁(yè)面</title> </head> <body> <form action="${pageContext.request.contextPath}/upload" enctype="multipart/form-data" method="post"> 文件:<input type="file" name="file1"/><br> <input type="submit" value="提交"/> </form> </body> </html>
2.文件上傳Servlet
package com.whoami.servlet; import com.whoami.utils.UploadUtils; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; import java.io.File; import java.io.IOException; @WebServlet(name = "UploadController",value = "/upload") @MultipartConfig(maxFileSize = 1024*1024*100,maxRequestSize = 1024*1024*200) public class UploadController extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //實(shí)現(xiàn)文件上傳 // 1.設(shè)置亂碼 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); // 2.獲取請(qǐng)求的數(shù)據(jù) Part part = request.getPart("file1"); //獲取文件提交的數(shù)據(jù) // 3.獲取保存文件的路徑 真實(shí)路徑 String uploadPath = request.getServletContext().getRealPath("/WEB-INF/upload"); File file = new File(uploadPath); if(!file.exists()){ file.mkdir(); //新建upload文件 } // 4.文件上傳(保存) //生成唯一文件名 防止文件覆蓋 String oldName = part.getSubmittedFileName(); String newName = UploadUtils.newFileName(oldName); part.write(uploadPath+"\\"+newName); // 5. 響應(yīng)客戶端 上傳成功! response.getWriter().println(part.getSubmittedFileName()+"上傳成功!!"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } }
3.生成唯一的文件名
package com.whoami.utils; import java.util.UUID; public class UploadUtils { public static String newFileName(String filename){ return UUID.randomUUID().toString().replace("-","")+"_"+filename; } } //UUID.randomUUID().toString()會(huì) //生成隨意ID(像這樣的6c0766ef-de8d-415a-83bd-fbc3ebd7a306) //replace("-","")是用空白替換-
4.上傳結(jié)果
我把文件存到了項(xiàng)目的WEB-INF/upload下面
讀到這里,這篇“javaweb怎么實(shí)現(xiàn)文件上傳功能”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。