JSP页面实现上传下载

本文使用的是smartupload工具实现文件的上传下载:

工具:

1、Eclipse

2、jspsmart.jar(百度搜索jspsmartupload.jar下载)

JSP页面:

1 <%--上传 --%>
 2 <form action="upload" method="post" enctype="multipart/form-data">
 3 <input type="file" name="file">
 4 <input type="submit" value="上传">
 5 </form>
 6 
 7 
 8 <%--下载 --%>
 9 <a href="down?file=A.jpg">下载</a>
10 <form action="down" method="post">
11 <input type="hidden" name="file" value="B.jpg">
12 <input type="submit" value="下载">
13 </form>

Servlet上传处理页面:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置字符集(可以通过Filter设置)
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        //获取一个SmartUpload对象
        SmartUpload upload=new SmartUpload();
        //初始化
        ServletConfig config=this.getServletConfig();
        upload.initialize(config, request, response);
        try {
            //上传文件
            upload.upload();
            //获取上传的文件对象
            File file=upload.getFiles().getFile(0);
            //指定保存文件的路径
            java.io.File newfile=new java.io.File(this.getServletContext().getRealPath("/")+"image");
            if(!newfile.exists())
            {
                newfile.mkdirs();
            }
            //保存文件
            file.saveAs(newfile+"/"+file.getFileName(), file.SAVEAS_PHYSICAL);
            response.getWriter().println("上传成功");
            System.out.println(newfile+"/"+file.getFileName());
        } catch (SmartUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

Servlet下载处理页面:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {              
        //从JSP页面获取到用户需要下载的文件名
        String file=request.getParameter("file");
        //获取一个SmartUpload对象
        SmartUpload download=new SmartUpload();
        //初始化
        ServletConfig config=this.getServletConfig();
        download.initialize(config, request, response);
        //禁止浏览器根据后缀名自动打开文件
        download.setContentDisposition(null);
        try {
        //指定下载地址    
download.downloadFile(this.getServletContext().getRealPath("/")+"image/"+file);
        } catch (SmartUploadException e) {
            e.printStackTrace();
        }
    }

参考文章:http://blog.ncmem.com/wordpress/2023/09/14/jsp%e9%a1%b5%e9%9d%a2%e5%ae%9e%e7%8e%b0%e4%b8%8a%e4%bc%a0%e4%b8%8b%e8%bd%bd/
欢迎入群一起讨论

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。 3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。 4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。 5、能将文件上传到数据库中,也能将数据库中的数据下载下来。这种功能针对的是MYSQL数据库,因为不具有通用性,所以本文不准备举例介绍这种用法。   jspSmartUpload组件可以从www.jspsmart.com网站上自由下载,压缩包的名字是jspSmartUpload.zip。下载后,用WinZip或WinRAR将其解压到Tomcat的webapps目录下(本文以Tomcat服务器为例进行介绍)。解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用。因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。接着重新启动Tomcat,这样就可以在JSP文件中使用jspSmartUpload组件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值