返回顶部
首页 > 资讯 > 精选 >jsp中如何使用smartupload组件上传文件
  • 503
分享到

jsp中如何使用smartupload组件上传文件

2023-06-03 05:06:50 503人浏览 安东尼
摘要

jsp中如何使用smartupload组件上传文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在JSP中使用smartUPLOAD组件上传文件  jsp对上传文件的

jsp中如何使用smartupload组件上传文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

在JSP中使用smartUPLOAD组件上传文件

  jsp对上传文件的支持不象PHP中支持的那么好,直接做成了函数,也不象ASP中要通过组件才能实现。jsp中可以通过Javabean来实现。但是我们没有必要自己去写一个上载的bean,在网上已经有了很多成型的技术,smartupload就是其中的一个。但是smartupload是将文件先读到服务器的内存中,所以上传太大的文件(超过100兆)有可能会出问题,也算是一个美中不足吧:)

  先说一下提交的页面,smartupload组件要求用字节流的方式来提交

。下面就是个例子upload.htm:


<!-- saved from url=(0057)Http://localhost:8080/jspsmartfile/jsp/uploadTemplate.jsp --&gt







 
 
 
 
 
 
  
 
 
 <TD
align=right>
  File 
  :   

  File 
  :   
  File 
  :   

undefined

  再来看一下接收的页面 ,我们把文件上传到服务器以后就直接把它再存入数据库中:upload.jsp

<%@ page="" contenttype="text/html;charset=gb2312">
<%@ page="" import="java.sql.*">
<%@ page="" import="com.jspsmart.upload.*">
<%@ page="" import="dbstep.iDBManager2000.*">
<%
 //实例化上载bean
  com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
  //初始化
  mySmartUpload.initialize(pageContext); 
  //设置上载的最大值
  mySmartUpload.setMaxFileSize(500 * 1024*1024);
  //上载文件
  mySmartUpload.upload();
  //循环取得所有上载的文件
  for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
  //取得上载的文件
  com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
  if (!myFile.isMissing())
  {
  //取得上载的文件的文件名
  String myFileName=myFile.getFileName();
  //取得不带后缀的文件名
  String  suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));
  //取得后缀名
  String  ext= mySmartUpload.getFiles().getFile(0).getFileExt(); 
  //取得文件的大小 
  int fileSize=myFile.getSize();
  //保存路径
  String aa=getservletContext().getRealPath("/")+"jsp";
  String trace=aa+myFileName;
  //取得别的参数
  String explain=(String)mySmartUpload.getRequest().getParameter("text");
  String send=(String)mySmartUpload.getRequest().getParameter("send");
  //将文件保存在服务器端
  myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
  //下面的是将上载的文件保存到数据库
  //将文件读到流中
  java.io.File file = new java.io.File(trace);
  java.io.FileInputStream fis = new java.io.FileInputStream(file);
  out.println(file.length());
  //打开数据库
  ResultSet result=null;
  String mSql=null;
  PreparedStatement prestmt=null;
  DBstep.iDBManager2000 dbaObj=new DBstep.iDBManager2000();
  DbaObj.OpenConnection();
  //将文件写到数据库中
  mSql="insert into marklist (markname,passWord,marksize,markdate,MarkBody) values (?,?,?,?,?)";
  prestmt =DbaObj.Conn.prepareStatement(mSql);
  prestmt.setString(1, "aaa1");
  prestmt.setString(2, "0000");
  prestmt.setInt(3, fileSize);
  prestmt.setString(4, DbaObj.GetDateTime());
  prestmt.setBinaryStream(5,fis,(int)file.length());
  DbaObj.Conn.setAutoCommit(true) ;
  prestmt.executeUpdate();
  DbaObj.Conn.commit();
  out.println(("上载成功!!!").toString());
  }
  else
  { out.println(("上载失败!!!").toString()); }
  }//与前面的if对应
%>

  再说一下下载,下载分两种情况1。从数据库直接下载2。从服务器上下载

  先说从数据库直接下载的情形:就是把输入流从数据库里读出来,然后转存为文件

<%@ page="" contenttype="text/html; charset=gb2312">
<%@ page="" import="java.sql.*">
<%@ page="" import="java.io.*">
<%@ page="" import="DBstep.iDBManager2000.*">
<%
  int bytesum=0;
  int byteread=0;
  //打开数据库
  ResultSet result=null;
  String Sql=null;
  PreparedStatement prestmt=null;
  DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();
  DbaObj.OpenConnection();
 //取得数据库中的数据
 Sql="select  *  from  t_local_zhongzhuan ";
 result=DbaObj.ExecuteQuery(Sql);
 result.next();

 //将数据库中的数据读到流中
InputStream inStream=result.getBinaryStream("content");
FileOutputStream fs=new FileOutputStream( "c:/dffdsafd.doc");

  byte[]  buffer =new  byte[1444];
int length;
  while ((byteread=inStream.read(buffer))!=-1)
  {
  out.println("

  • "+byteread+"

  • ");


  •   bytesum+=byteread;


  •   System.out.println(bytesum);


  •  


  •  


  •   fs.write(buffer,0,byteread);


  •   }


  • %>

再说从服务器上下载的情形:

<%@ page="" contenttype="text/html; charset=gb2312">
<%@ page="" import="java.io.*">
<%
  String fileName = "zsc104.swf".toString();
f//读到流中
InputStream inStream=new FileInputStream("c:/zsc104.swf");
 //设置输出的格式
  response.reset();
  response.setContentType("bin");
  response.addHeader("Content-Disposition","attachment; filename="" + fileName + """);
 //循环取出流中的数据
  byte[] b = new byte[100];
  int len;
  while((len=inStream.read(b)) >0)
  response.getOutputStream().write(b,0,len);  
  inStream.close();
%>

看完上述内容,你们掌握jsp中如何使用smartupload组件上传文件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: jsp中如何使用smartupload组件上传文件

本文链接: https://lsjlt.com/news/232896.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • jsp中如何使用smartupload组件上传文件
    jsp中如何使用smartupload组件上传文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在JSP中使用smartUPLOAD组件上传文件  jsp对上传文件的...
    99+
    2023-06-03
  • 上传下载组件SmartUpload如何使用
    使用SmartUpload组件进行文件的上传和下载,需要以下步骤:1. 导入SmartUpload组件的jar包。可以从官方网站下载...
    99+
    2023-08-23
    SmartUpload
  • 上传下载组件SmartUpload使用方法
    SmartUpload是一个用于处理上传和下载文件的Java组件。它提供了一套简单易用的API,可以方便地实现文件上传和下载的功能。...
    99+
    2023-08-22
    SmartUpload
  • java组件SmartUpload和FileUpload如何实现文件上传功能
    这篇文章主要为大家展示了“java组件SmartUpload和FileUpload如何实现文件上传功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java组件SmartUpload和FileU...
    99+
    2023-05-30
    java smartupload fileupload
  • jsp怎么使用smartupload上传图片
    要使用SmartUpload上传图片,可以按照以下步骤进行操作:1. 首先,你需要下载SmartUpload的jar文件,并将其添加...
    99+
    2023-08-20
    jsp
  • jsp使用smartupload上传图片的问题
    在使用SmartUpload进行图片上传时,你可能会遇到以下问题:1. 缺少SmartUpload类:请确保已将SmartUploa...
    99+
    2023-08-19
    jsp
  • 如何在 Python 中使用 Spring 框架的文件上传组件?
    Spring 是一个非常流行的 Java 开发框架,它提供了一系列的组件和工具来帮助开发者快速构建高效、可维护的应用程序。其中,文件上传组件是一个非常实用的组件,它可以帮助我们在应用程序中实现文件上传功能。 那么,在 Python 中如何...
    99+
    2023-09-04
    文件 关键字 spring
  • 如何使用fileupload组件实现文件上传功能
    要使用fileupload组件实现文件上传功能,你需要进行以下步骤:1. 在HTML文件中,添加一个文件上传的input元素,设置t...
    99+
    2023-08-14
    fileupload
  • jsp如何使用jar包中的jsp文件
    要使用jar包中的jsp文件,您需要按照以下步骤进行操作:1. 将jar包添加到您的项目的构建路径中。这可以通过将jar包添加到您的...
    99+
    2023-08-18
    jsp jar
  • php文件上传插件如何使用
    要使用PHP文件上传插件,您需要按照以下步骤进行操作:1. 下载插件:首先,您需要从互联网上下载一个PHP文件上传插件。一些常见的插...
    99+
    2023-10-18
    php
  • 如何使用Servlet上传文件
    如何使用Servlet上传文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、Servlet实现文件上传,需要添加第三方提供的jar包下载地址:1) commons-fi...
    99+
    2023-05-31
    servlet 文件上传
  • jsp+ajax如何实现无刷新上传文件
    这篇文章主要为大家展示了“jsp+ajax如何实现无刷新上传文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jsp+ajax如何...
    99+
    2024-04-02
  • JSP实现文件上传功能
    本文实例为大家分享了JSP实现文件上传功能的具体代码,供大家参考,具体内容如下 一、准备部分 需要fileupload.jar与io.jar包共同完成。构建完成路径后可继续。 资源地...
    99+
    2024-04-02
  • asp.net如何使用ajaxFileUpload插件上传文件
    这篇文章主要讲解了“asp.net如何使用ajaxFileUpload插件上传文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“asp.net如何使用ajaxFileUpload插件上传文件...
    99+
    2023-06-22
  • 使用fileupload组件实现文件上传功能
    使用fileupload组件实现文件上传功能可以按照以下步骤进行:1. 导入相关文件和库:首先,需要导入jQuery库和fileup...
    99+
    2023-08-14
    fileupload
  • java中如何上传文件
    在java里面文件上传的方式很多,最简单的依然是FileInputStream、FileOutputStream了,在这里我列举3种常见的文件上传方法代码首先呢,使用springMVC原生上传文件方法,需要一些简单的配置,不多说,上图。 ...
    99+
    2019-03-19
    java基础 java
  • ASP中文件上传组件ASPUpload介绍和使用方法
    ASPUpload是一个用于在ASP网页中实现文件上传的组件。它提供了简单易用的接口和丰富的功能,方便开发者在网页中实现文件上传功能...
    99+
    2023-08-22
    ASP
  • vue中如何使用html5实现文件上传
    这篇文章主要为大家展示了“vue中如何使用html5实现文件上传”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中如何使用html5实现文件上传”这篇文章吧...
    99+
    2024-04-02
  • Golang 文件上传中如何使用 context 超时?
    go 中文件上传使用 context 超时可以防止服务器长时间等待客户端完成上传。方法包括:1)创建一个新的 context 对象,设置超时值;2)将 context 对象传递给文件操作...
    99+
    2024-05-13
    超时 context golang
  • node.js如何使用express-fileupload中间件实现文件上传
    本篇内容介绍了“node.js如何使用express-fileupload中间件实现文件上传”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作