Dieser Artikel stellt hauptsächlich die relevanten Informationen zur Upload-Instanz von FileUpload in Java Advanced vor. Ich hoffe, dass dieser Artikel allen Freunden in Not helfen kann.
FileUpload in Java Advanced Beispiel für abgeschlossen Upload
FileUpload ist ein Unterprojekt unter Apache Commons, das zur Implementierung der Datei-Upload-Funktion unter Java-Projekten verwendet wird. Zu den gängigen Datei-Uploads gehören SmartUpload, Servlet3.0 und Struts2.
Hier verwende ich commons-fileupload-1.2.1. Der Parsing-Prozess ist in den Kommentaren im Code beschrieben
//创建磁盘文件项工厂 DiskFileItemFactory diskFileItemFactory=new DiskFileItemFactory(); //设置缓冲区的大小,如果文件的大小超过了缓冲区的大小,就会产生临时文件 diskFileItemFactory.setSizeThreshold(1024*1024*3); //获得核心解析类 ServletFileUpload fileUpload=new ServletFileUpload(diskFileItemFactory); //解决中文文件名上传乱码 fileUpload.setHeaderEncoding("UTF-8"); //解析request,返回list集合 List<FileItem> list = fileUpload.parseRequest(request); //获得每个部分,将遍历的值存入到一个map集合中 Map<String, String> map=new HashMap<>(); //设置上传文件的文件名 String fileName=null; for (FileItem fileItem : list) { //判断普通项和文件上传项 if (fileItem.isFormField()) { //普通项 String name=fileItem.getFieldName(); String value=fileItem.getString("UTF-8"); map.put(name, value); }else { //文件上传项 //获得文件名 fileName=fileItem.getName(); //获得文件的输入流 InputStream is=fileItem.getInputStream(); //获得文件上传的路径 String path=this.getServletContext().getRealPath("/products/1"); OutputStream os=new FileOutputStream(path+"/"+fileName); int len=0; byte[] b=new byte[1024]; while ((len=is.read(b))!=-1) { os.write(b, 0, len); } is.close(); os.close(); }
Das obige ist der detaillierte Inhalt vonCodebeispiel für die Verwendung von FileUpload zum Abschließen des Uploads in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!