首页 > 学院 > 开发设计 > 正文

SmartUpload实现文件上传

2019-11-15 00:14:11
字体:
来源:转载
供稿:网友
SmartUpload实现文件上传

(一)SmartUpload组件简介

SmartUpload组件专门用于实现文件上传及下载的免费组件(二)SmartUpload组件特点使用简单:编写少量代码,完成上传下载功能能够控制上传内容能够控制上传文件的大小、类型缺点:目前已停止更新服务

(三)SmartUpload组件应用条件

File类及方法

SmartUpload类及方法

文件上传的实现

控制上传文件的类型

控制上传文件的大小

注意:

㈠ 表单要求

对于上传文件的FORM表单,有两个要求:

1、METHOD应用POST,即METHOD="POST"。

2、增加属性:ENCTYPE="multipart/form-data"

案例:下面是一个用于上传文件的FORM表单的例子:

表单页面indes.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>SmartUpload</title>      </head>    <body>    <form action="doupload.jsp" method="post" enctype="multipart/form-data">        姓名:<input type="text" name="username" /><br/>        密码:<input type="text" name="pwd" /><br/>        文件1:<input type="file" name="file1" /><br/>        文件2:<input type="file" name="file2" /><br/>        文件3:<input type="file" name="file3" /><br/>        文件4:<input type="file" name="file4" /><br/>        文件5:<input type="file" name="file5" /><br/>        文件6:<input type="file" name="file6" /><br/>        文件7:<input type="file" name="file7" /><br/>        <input type="submit" />    </form>  </body></html>

处理表单页

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page import="com.jspsmart.upload.SmartUpload"%><%@page import="com.jspsmart.upload.File"%><%    //----处理上传文件    /*        使用smartupload            1、添加组件jar包至WEB-INF/lib包中            2、设置form表单的提交类型为二进制类型    */        //创建smartupload组件    SmartUpload su = new SmartUpload();    //初始化组件上下文    su.initialize(pageContext);        //设置编码    su.setCharset("utf-8");    try{                //允许上传的文件类型        //su.setAllowedFilesList("doc");                //限制上传文件的类型        //su.setDeniedFilesList("bat");                //限制上传文件的大小        //su.setMaxFileSize(2000);        //上传文件        su.upload();    }catch(Exception e){        %>            <script type="text/Javascript">                alert("不允许上传:bat,exe,jsp,html,htm,java,class文件类型");                location.href="index.jsp";            </script>        <%    }        out.PRintln("上传"+su.save("upload//")+"个文件成功!!!");        //得到表单项    String name = su.getRequest().getParameter("username");    String pwd = su.getRequest().getParameter("pwd");        /*        实现多文件上传    */    for(int i = 0; i < su.getFiles().getCount(); i++){                    //获取单个文件        File file = su.getFiles().getFile(i);                //判断当前file是否选择了文件;如果没有则继续        if(file.isMissing())continue;                //设置上传服务器的位置        String path = "upload//";                //得到上传文件的名称        String filename = file.getFileName();                //上传文件的路径        path = path + filename;                //保存文件        file.saveAs(path,SmartUpload.SAVE_VIRTUAL);                out.println("<table border=1>");        out.println("<tr><td>姓名:</td><td>"+name+"</td></tr>");        out.println("<tr><td>密码:</td><td>"+pwd+"</td></tr>");        out.println("<tr><td>上传的文件名称(filename):</td><td>"+filename+"</td></tr>");        out.println("<tr><td>上传的文件表单项名称(fliedname):</td><td>"+file.getFieldName()+"</td></tr>");        out.println("<tr><td>上传的文件的大小(长度)(size):</td><td>"+file.getSize()+"</td></tr>");        out.println("<tr><td>上传的文件的扩展名(ext):</td><td>"+file.getFileExt()+"</td></tr>");        out.println("</table><br/>");            }%>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表