JavaWeb学习——文件上传并设置一些参数

文件上传

文件上传的注意事项:

  • 为了保证服务器的安全,上传文件应该放在外界无法直接访问的目录下,比如WEB-INF目录。
  • 为了保证文件名不重复,为上传文件使用UUID方法,产生一个唯一的文件名
  • 上传文件需要设置上传文件的最大值
  • 可以在上传文件中设置文件上传的类型

文件上传的大小限制可以在SpringMVC框架的拦截器中设置
拦截器限制文件上传大小

文件上传的Servlet:

public class FileServlet extends HttpServlet {
   
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, IOException {
   
        //1.首先判断上传的文件是普通表单还是带文件的表单
        if(!ServletFileUpload.isMultipartContent(request)){
   
            return;//中止方法的运行。表明是一个普通的表单
        }
        //2.创建一个上传文件的路径,并创建文件夹
        String uploadPath=this.getServletContext().getRealPath("/WEB-INF/upload");
        File uploadFile=new File(uploadPath);
        if (!uploadFile.exists()){
   
            uploadFile.mkdir();
        }
        //2.1 我们可以根据需求创建一个临时文件
        String tmpPath = this.getServletContext().getRealPath("/WEB-INF/tmp");
        File file=new File(tmpPath);
        if (!file.exists()){
   
            file.mkdir();
        }
        //3.上传文件
        try {
   
            //3.1 创建DiskFileItemFactory对象,处理文件路径或者大小限制
            DiskFileItemFactory diskFileItemFactory = getDiskFileItemFactory(file);
            //3.2  获取ServletFileUpload
            ServletFileUpload servletFileUpload = getServletFileUpload(diskFileItemFactory);
            //3.3 处理上传的文件
            //将请求解析封装为FileItem对象,从ServletFileUpload中获取
            String msg = uploadParseRequest(servletFileUpload, request, uploadPath);
            if(msg 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值