• 关于jspSmartUpload上传文件


    当form表单属性enctype="multipart/form-data"时,提交时用常规的request.getParamater()方法获取不到参数,此时用jspSmartUpload.jsp包可实现参数的获取和文件的上传,步骤如下:

    1 网上搜索jspSmartUpload.jsp下载并引入web项目的dependencies中,并引入WEB-INF文件下的lib中(没有此文件就创建一个,并设置为resource root),不然会报找不到类的错误

    2 前端jsp界面提交form表单,Servlet获取form表单中的参数。代码示例如下。

    jsp代码

    <form name="articleform" class="form-horizontal" action="${pageContext.request.contextPath}/list"
                      method="post" enctype="multipart/form-data">
                    <input type="text" name="id" />
                    <input type="file" name="image" size="100"
             
    <input type="submit" value="提交" /> </form>

    注意method必须为post,enctype必须为multipart/form-data。(具体原因可搜索下enctype几种属性的区别)

    servlet代码:

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            request.setCharacterEncoding("UTF-8");
            try {
                SmartUpload su=new SmartUpload();
    //初始化SmartUpload ,必须有要,不然有异常
                su.initialize(this.getServletConfig(),request,response);
                su.setMaxFileSize(1*1024*1024);
                su.setTotalMaxFileSize(10*1024*1024);
                su.setAllowedFilesList("jpg,png,JPG");
                su.upload();
    //获取其它参数
                String id =su.getRequest.getParameter("id");
    //获取文件,如果文件为多个,循环遍历即可
                Files files=su.getFiles();
                String fileName=files.getFile(0).getFileName();
    //saveAs方法第二个参数用法可以自己详究一下
                files.getFile(0).saveAs("/resources/images/article/"+fileName,File.SAVEAS_VIRTUAL);
          }
        }                    

    代码只做示例作用,思路没有问题,但是代码是我截取的项目片段,也许存在一点小问题。

  • 相关阅读:
    TypeScript 第一讲 ———— 基本数据类型的使用
    关于TypeScript命名空间
    Egret 自定义皮肤 ———— 引入类中以及createChildren()和 childrenCreated()的使用
    egret基础——控件
    回顾过去,展望未来
    JDBC、Hibernate、Mybatis之间的区别
    SSM框架优缺点和spring boot 比起优缺点是什么?
    拦截器和过滤器的区别
    转发和重定向区别
    关于虚拟机中克隆的linux为什么不能开启网络服务
  • 原文地址:https://www.cnblogs.com/nlw-blog/p/10890552.html
Copyright © 2020-2023  润新知