首页 > 其他分享 >怎样用JspSmartUpload实现文件上传攻略

怎样用JspSmartUpload实现文件上传攻略

时间:2023-06-15 12:37:43浏览次数:42  
标签:文件 JspSmartUpload tr upload 攻略 div 上传 td


㈠ 表单要求

 

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

 

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

 

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

 

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

 

< FORM  METHOD ="POST"  ENCTYPE ="multipart/form-data"  
ACTION ="/jspSmartUpload/upload.jsp" > 
 < INPUT  TYPE ="FILE"  NAME ="MYFILE" > 
 < INPUT  TYPE ="SUBMIT" > 
 </ FORM >

 

㈡ 上传的例子

 

1、上传页面upload.html

 

本页面提供表单,让用户选择要上传的文件,点击"上传"按钮执行上传操作。

 

页面源码如下:

 

<!-- 
    文件名:upload.html
    作  者:纵横软件制作中心雨亦奇
 --> 
 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > 
 < html > 
 < head > 
 < title > 文件上传 </ title > 
 < meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" > 
 </ head > 

 < body > 
 < p >   </ p > 
 < p  align ="center" > 上传文件选择 </ p > 
 < FORM  METHOD ="POST"  ACTION ="jsp/do_upload.jsp" 
ENCTYPE ="multipart/form-data" > 
 < input  type ="hidden"  name ="TEST"  value ="good" > 
   < table  width ="75%"  border ="1"  align ="center" > 
     < tr >  
       < td >< div  align ="center" > 1、 
           < input  type ="FILE"  name ="FILE1"  size ="30" > 
         </ div ></ td > 
     </ tr > 
     < tr >  
       < td >< div  align ="center" > 2、 
           < input  type ="FILE"  name ="FILE2"  size ="30" > 
         </ div ></ td > 
     </ tr > 
     < tr >  
       < td >< div  align ="center" > 3、 
           < input  type ="FILE"  name ="FILE3"  size ="30" > 
         </ div ></ td > 
     </ tr > 
     < tr >  
       < td >< div  align ="center" > 4、 
           < input  type ="FILE"  name ="FILE4"  size ="30" > 
         </ div ></ td > 
     </ tr > 
     < tr >  
       < td >< div  align ="center" > 
           < input  type ="submit"  name ="Submit"  value ="上传它!" > 
         </ div ></ td > 
     </ tr > 
   </ table > 
 </ FORM > 
 </ body > 
 </ html >
2、上传处理页面do_upload.jsp

 

本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。

 

页面源码如下:

 

 <%-- 
    文件名:do_upload.jsp
    作  者:纵横软件制作中心雨亦奇
 --%> 
 <% @ page contentType = " text/html; charset=gb2312 "  language = " java "  
 import = " java.util.*,com.jspsmart.upload.* "  errorPage = ""   %> 
 < html > 
 < head > 
 < title > 文件上传处理页面 </ title > 
 < meta http - equiv = " Content-Type "  content = " text/html; charset=gb2312 " > 
 </ head > 

 < body > 
 <% 
     //  新建一个SmartUpload对象 
     SmartUpload su  =   new  SmartUpload();
     //  上传初始化 
     su.initialize(pageContext);
     //  设定上传限制
     //  1.限制每个上传文件的最大长度。 
      su.setMaxFileSize( 10000 );
     //  2.限制总上传数据的长度。 
      su.setTotalMaxFileSize( 20000 );
     //  3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。 
      su.setAllowedFilesList( " doc,txt " );
     //  4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
     // jsp,htm,html扩展名的文件和没有扩展名的文件。 
      su.setDeniedFilesList( " exe,bat,jsp,htm,html,, " );
     //  上传文件 
     su.upload();
     //  将上传文件全部保存到指定目录 
      int  count  =  su.save( " /upload " );
    out.println(count + " 个文件上传成功!<br> " );
    
     //  利用Request对象获取参数之值 
     out.println( " TEST= " + su.getRequest().getParameter( " TEST " )
     + " <BR><BR> " );

     //  逐一提取上传文件信息,同时可保存文件。 
      for  ( int  i = 0 ;i < su.getFiles().getCount();i ++ )
     ... {
        com.jspsmart.upload.File file = su.getFiles().getFile(i);
        
        // 若文件不存在则继续
        if (file.isMissing()) continue;

        // 显示当前文件信息
        out.println("<TABLE BORDER=1>");
        out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
        + file.getFieldName() + "</TD></TR>");
        out.println("<TR><TD>文件长度(Size)</TD><TD>" + 
        file.getSize() + "</TD></TR>");
        out.println("<TR><TD>文件名(FileName)</TD><TD>" 
        + file.getFileName() + "</TD></TR>");
        out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>" 
        + file.getFileExt() + "</TD></TR>");
        out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
        + file.getFilePathName() + "</TD></TR>");
        out.println("</TABLE><BR>");

        // 将文件另存
        file.saveAs("/upload/" + myFile.getFileName());
        // 另存到以WEB应用程序的根目录为文件根目录的目录下
         file.saveAs("/upload/" + myFile.getFileName(), 
        su.SAVE_VIRTUAL);
        // 另存到操作系统的根目录为文件根目录的目录下
        file.saveAs("c:\temp\" + myFile.getFileName(), 
        su.SAVE_PHYSICAL);

    } 
 %> 
 </ body > 
 </ html >

对上传的文件图片改名的代码


com.jspsmart.upload.SmartUpload upload   =   new    com.jspsmart.upload.SmartUpload();
upload.initialize(pageContext);
upload.setMaxFileSize(   10000000   );    //
   限制上传文件的大小1兆
   
   upload.upload();
   //
   上传
   
   /** */
   /********************************************************************
String strParmeter1=upload.getRequest().getParameter("Parmeter1");
********************************************************************/   
   //
   文件上传后的文件对象
   
   com.jspsmart.upload.File myFile 
   =
    upload.getFiles().getFile(
   0
   );
String strFileName    =    myFile.getFileName();
String abspath    =   request.getRealPath(   "
   /
   "
   )
   +
   "
   /uploadFiles/
   "
   +
   strFileName;
myFile.saveAs(abspath);

标签:文件,JspSmartUpload,tr,upload,攻略,div,上传,td
From: https://blog.51cto.com/u_16065168/6486201

相关文章

  • HTML5 WebUploader 分片上传
    ​ 一、基本介绍 1,什么是WebUploader?WebUploader是由百度公司团队开发的一个以HTML5为主,FLASH为辅的现代文件上传组件。官网地址:http://fex.baidu.com/webuploader/JS-文件上传组件WebUploader使用详解2(MD5秒传、判断是否已经上传过)2,功能特点分片、并发:WebUplo......
  • MONAI Label 安装流程及使用攻略
    这部分为monailabel的安装实操,分为服务端安装和客户端安装。预祝大家顺利安装。如果遇到问题,可以在交流群里探讨。在开始前,可以把以下链接打开,官方安装教程monailabelgithub服务器(Server)端安装服务器电脑条件:可以是Ubuntu和Windows操作系统,但必须要有GPU/CUDA。并能支持深......
  • FTP上传错误----“200 Type set to I”
    用FilezillaServer做的FTP服务器,没有使用客户端上传东西,直接用win10的文件管理器访问上传文件,发现有的文件上传时会提示:”200TypesettoI“,(如下图所示) 一阵猛上网搜索,原以为是由于“主动模式”(Active)和“被动模式”(PASV)的模式,使用客户端测试好像都可以。几经折腾,一直没有......
  • 大文件上传功能在标签服务的简单应用和代码实现
    各位看官大家好,今天给大家分享的又是一篇实战文章,希望大家能够喜欢。目前「袋鼠云客户数据洞察平台」标签服务的群组按种类划分,可以分为三大类,分别是实时群组、动态群组以及静态群组。如果按创建方式划分则有两种,分别是通过圈群的方式创建以及通过上传本地文件进行维度匹配的方式创......
  • jenkins 上传文件参数
    注意:文件参数不支持Jenkins流水线文件上传以后会上传至workspace里对应的project下面,但是文件会被重命名为Filelocation(设置路径)输入库的值,如果在jenkins中继续读取该文件,可以在使用内置变量WORKSPACE......
  • js实现上传的pdf文件预览
    js实现pdf文件上传预览功能需求:上传预览功能,支持图片和pdf上传预览,并且是在指定的div里面预览主要使用的是pdfjs库pdfjs可以轻松实现点击打开一个新的页面或一个大的dialog在原页面实现预览,但是不支持(可能是我没找到)在指定的div里面预览这里要实现的是在指定的div......
  • B/S WebUploader 分片上传
    ​ 4GB以上超大文件上传和断点续传服务器的实现随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基......
  • 百度 WebUploader 分片上传
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range  用于请求头......
  • go调用minio上传文件
    1packagemain23import(4"context"5"fmt"6"log"7"os"89"github.com/minio/minio-go/v7"10"github.com/minio/minio-go/v7/pkg/credentials"11)1213......
  • vue WebUploader 分片上传
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......