Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)
生活随笔
收集整理的這篇文章主要介紹了
Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
基本概念
Apache Commons FileUpload?:Apache Commons FileUpload組件提供了一種簡單而靈活的方法,可以將對多部分文件上傳功能的支持添加到Servlet和Web應用程序。?
Maven
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version> </dependency>源代碼?
package club.zstuca.demo;import java.io.File; import java.io.IOException; 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.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;/*** Servlet implementation class UploadDEMO*/ @WebServlet("/UploadDEMO") public class UploadDEMO extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public UploadDEMO() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html; charset=UTF-8");boolean bool=ServletFileUpload.isMultipartContent(request);System.out.println(bool);if(bool) {ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());// upload.setFileSizeMax(20);try {List<FileItem> items = upload.parseRequest(request);Iterator<FileItem> it = items.iterator();while(it.hasNext()) {FileItem item = it.next();String name = item.getFieldName();if(item.isFormField()) {if( name.equals("name")){}else if(name.equals("psd")) {}else{}}else {System.out.println(item.getName());String filename = item.getName();String ext = filename.substring(filename.indexOf(".")+1);System.out.println(ext);if(!(ext.equals("png")||ext.equals("gif")||ext.equals("jpg"))){System.out.println("upload file error");return;}String path = request.getSession().getServletContext().getRealPath("upload");File file = new File("C:\\Users\\Lenovo\\Desktop",filename);System.out.println(file.getTotalSpace());item.write(file);}}} catch (Exception e) {// TODO 自動生成的 catch 塊e.printStackTrace();}}System.out.print("OK");} }教學資源
https://www.bilibili.com/video/av29086718?p=34
?
參考文章
暫無
總結
以上是生活随笔為你收集整理的Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Web——文件下载时中文文件名
- 下一篇: Spring Boot——[Unable