<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
這裡實現一個簡單的圖片上傳功能,主要是熟悉這個檔案上傳的互動流程。關於更復雜的檔案上傳,如大檔案的切片上傳、斷點續傳等,這裡不做過多介紹。
首先在前端建立一個頁面,這裡我們選擇通過form表單的形式上傳檔案。在選擇時,使用input標籤中 的file型別就可以自動的選擇本地檔案。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>上傳一張圖片</title> </head> <body> <form action="upload" method="POST" enctype="multipart/form-data"> <input type="file" name="MyImage"> <input type="submit" value="提交圖片"> </form> </body> </html>
程式碼解釋:
enctype屬性:
application/x-www=form-urlencoded:預設方式,只處理表單域中的 value 屬性值,將表單域中的值處理成URL
編碼方式;
multipart/form-data:以二進位制流的方式處理表單資料,除了表單域中的 value 屬性值,還會處理表單域的檔案內容,將其封裝到請求引數中,不會對字元編碼;
text/plain:將空格轉換為+號,其它字元不做編碼處理,適用於通過表單傳送郵件。
小結:
在伺服器這邊處理請求,並將請求中的檔案取出並重新儲存,最後將程式碼部署到Tomcat上.
在解析請求中的檔案時,需要用到Servlet中的getPart方法.此方法的引數是對應的檔名name
在前端上傳檔案的時候,可以一次選擇多個檔案上傳,其中每個檔案,會被包裝成一個Part物件.每個檔案都會有自己的檔名name,伺服器這邊就可以根據檔名來找到對應的Part,在Part中就包含了對應檔案資訊。
import javax.servlet.ServletException; 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.IOException; @MultipartConfig @WebServlet("/upload") public class UploadServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1.從請求物件中,讀取出Part物件 Part part =req.getPart("MyImage"); //2.讀取到Part 物件中的一些引數 System.out.println(part.getSubmittedFileName()); // 上傳檔案真實的檔名 System.out.println(part.getContentType()); // 檔案的型別 System.out.println(part.getSize()); // 檔案的大小 //3.把檔案寫入到指定的目錄中 part.write("c:/temp/MyImage.jpg"); //4.返回一個響應,通知使用者上傳成功 resp.getWriter().write("upload OK !"); } }
程式碼解釋:
在瀏覽器中輸入URL,傳送請求,開始上傳檔案
上傳成功
在本地對應的路徑中,可以看到被上傳的檔案
到此這篇關於JavaWeb簡單檔案上傳的文章就介紹到這了,更多相關JavaWeb檔案上傳流程內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45