千家信息网

java实现文件上传的方法

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本篇内容介绍了"java实现文件上传的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们在jav
千家信息网最后更新 2025年01月17日java实现文件上传的方法

本篇内容介绍了"java实现文件上传的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我们在java开发工具中如果要实现文件的上传功能时,我们需要依靠 Apache 组织的Commons-io.jar、Commons-fileupload.jar这两个架包。

1.创建新的项目这边小编给他命名为fileupdate大家可以按照自己的想法命名,将架包放在我们项目中的WEB-INF/lib文件夹下,如下图:



2.index.jsp页面代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>          文件上传          
名称:
上传文件:
  

message.jsp代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>      上传文件成功             

上传文件成功!


3.UploadSerlvet代码:

import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import java.util.UUID;import javax.servlet.ServletException;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;import org.apache.commons.io.FileUtils;public class UploadServlet extends HttpServlet {        public void doGet(HttpServletRequest request, HttpServletResponse response)                        throws ServletException, IOException {                this.doPost(request, response);        }        public void doPost(HttpServletRequest request, HttpServletResponse response)                        throws ServletException, IOException {                response.setContentType("text/html");                PrintWriter out = response.getWriter();                DiskFileItemFactory sf= new DiskFileItemFactory();//实例化磁盘被文件列表工厂                String path = request.getRealPath("/upload");//得到上传文件的存放目录                sf.setRepository(new File(path));//设置文件存放目录                sf.setSizeThreshold(1024*1024);//设置文件上传小于1M放在内存中                String rename = "";//文件新生成的文件名                String fileName = "";//文件原名称                String name = "";//普通field字段                //从工厂得到servletupload文件上传类                ServletFileUpload sfu = new ServletFileUpload(sf);                                try {                        List lst = sfu.parseRequest(request);//得到request中所有的元素                        for (FileItem fileItem : lst) {                                if(fileItem.isFormField()){                                        if("name".equals(fileItem.getFieldName())){                                                name = fileItem.getString("UTF-8");                                        }                                }else{                                        //获得文件名称                                        fileName = fileItem.getName();                                        fileName = fileName.substring(fileName.lastIndexOf("\\")+1);                                        String houzhui = fileName.substring(fileName.lastIndexOf("."));                                        rename = UUID.randomUUID()+houzhui;                                        fileItem.write(new File(path, rename));                                }                        }                } catch (Exception e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                }                response.sendRedirect("message.jsp");                out.flush();                out.close();        }}

当我们创建完成后一般会在web.xml自动配置相关信息

"java实现文件上传的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0