`
刘志磊_programmer
  • 浏览: 593 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jsp页面无刷新上传文件

阅读更多
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
这个内容,是我在看到iteye的论坛里面看到的,特地弄个过来保存一下,原博客地址是:
http://www.iteye.com/topic/81120

首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的。
    而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。
    ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。
    我在这里这里用的技术是jsp,其实asp,php等也是一样可以这么实现的
    一共两个文件就可实现:index.html 和 upload.jsp,在这里讲解一下,文后会附上源码

index.jsp页面:

<script type="text/javascript">
		function callback(msg)   
		{   
		    document.getElementById("file").outerHTML = document.getElementById("file").outerHTML;   
		    document.getElementById("msg").innerHTML = "<font color=red>"+msg+"</font>";   
		} 
	</script>

<body>
    <form action="upload.jsp" id="form1" name="form1" encType="multipart/form-data"  method="post" target="hidden_frame" >  
   <input type="file" id="file" name="file" style="width:450">   
  <INPUT type="submit" value="上传文件"><span id="msg"></span>   
   <br>
   <font color="red">支持JPG,JPEG,GIF,BMP,SWF,RMVB,RM,AVI,EXE文件的上传</font>                
   <iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>  
</form>  

  </body>



upload.jsp页面:
<%@ page import="com.jspsmart.upload.SmartUpload" %>

<%   
   //新建一个SmartUpload对象   
   SmartUpload su = new SmartUpload();   
 
   //上传初始化   
   su.initialize(pageContext);   
  
    // 设定上传限制   
    //1.限制每个上传文件的最大长度。   
    su.setMaxFileSize(10000000);   
  
    //2.限制总上传数据的长度。   
    su.setTotalMaxFileSize(20000000);   
  
    //3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。   
    su.setAllowedFilesList("doc,txt,jpg,rar,mid,waw,mp3,gif,exe");   
       
    boolean sign = true;   
       
    //4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。   
    try {   
        su.setDeniedFilesList("bat,jsp,htm,html");   
  
        //上传文件   
        su.upload();   
        //将上传文件保存到指定目录   
        su.save("/upfile");  
 
    } catch (Exception e) {  
        e.printStackTrace();  
        sign = false;  
    }  
    if(sign==true)  
    {  
        out.println("<script>parent.callback('文件上传成功')</script>");  
    }else  
    {  
        out.println("<script>parent.callback('文件上传失败')</script>");   
    }   
%>   



此外,还需要用到jspSmartUpload.jar包
分享到:
评论

相关推荐

    Ajax无刷新上传文件( jsp版本)

    但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是...

    ajax jsp 无刷新上传文件

    用jspSmartUploas组件上次文件时,会跳到新页面,这里实现了不刷新页面上次文件,

    纯jsp实现文件上传(页面无刷新,表单数据可连续填写最后上传文件)

    这是一个纯jsp实现的文件上传功能. 无页面刷新,表单数据可以依次连续填写,最后上传文件. 文件上传后将文件名和上传路径返回,供业务保存DB使用.

    纯JSP带进度条无刷新的多文件上传

    (4)巧妙实现页面无刷新处理; (5)上传进度提示; (6)采用专用线程负责上传; (7)支持多文件上传; (8)具体效果请看http://blog.csdn.net/hbccgg/archive/2011/04/29/6371080.aspx (9)压缩文件为Eclipse...

    不刷当前jsp页面上传文件的实例

    在jsp中不刷新页面上传文件,并且可以设置上传文件的格式,不符合预定格式的文件可以过滤

    纯JSP带进度条无刷新的单文件上传

    1、纯JSP代码编写,能够实现文件上传处理 2、带进度条,上传时页面无需刷新 3、支持中文文件名 4、代码比Ajax方式简单很多 5、在Tomcat7.0上调试通过(很容易修改为支持Tomcat6.0以下版本) 6、Eclipse项目源文件 7...

    JSP无刷新上传 批量上传

    不在多说,直接看说明。。 两个文件,一个上传页面,一个处理代码。

    不用刷新页面的文件上传和下载

    用起都还可以,不刷新页面 用起都还可以,不刷新页面用起都还可以,不刷新页面 用起都还可以,不刷新页面用起都还可以,不刷新页面 用起都还可以,不刷新页面用起都还可以,不刷新页面 用起都还可以,不刷新页面

    jsp ajax 文件上传(包含图片)

    网上找了好多jsp ajax上传好多都用不了,我自己摸索了一番,终于搞出来了,意义就在于ajax的异步刷新,如果用表单上传必须要跳转页面,废话不多说了,里面有图有真相。在这里我说明一下,我举得例子是即时上传头像...

    [上传下载]仿163网盘无刷新文件上传forJsp_fileupload_jsp.zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...

    真正解决jspSmartUpload组件上传下载文件时中文乱码问题

    另,http://download.csdn.net/source/796632 中有上传文件时不刷新页面的方法。我浦发银行的项目就是用这些方法。很好用。 ------------------------------------------------ gylsm发表的评论 真是晕死,用原版...

    基于jsp的AJAX多文件上传的实例

    最近的项目开发中,遇到了一个多文件上传的问题,即在不刷新页面的情况下,上传多个文件至服务器。现总结分享如下: 本文主要采用了基于jsp的ajax,jquery,servlet等技术。 1.upload.jsp 点击上传时,调用对应的...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    27. 上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将JSP的变量或者bean传递给JAVASCRIPT使用? 32. 把一种格式(如yyyy-mm-dd)的日期变量转换成另外一种格式(如dd-mm-yyyy)的日期变量! 33. ...

    jsp编程技巧集锦

    上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将JSP的变量或者bean传递给JAVASCRIPT使用? 32. 把一种格式(如yyyy-mm-dd)的日期变量转换成另外一种格式(如dd-mm-yyyy)的日期...

    jsp网络编程从基础到实践

    实例1 第一个JSP页面 第3章 Web开发基础 实例2 HTML与JavaScript交互示例 第4章 JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用实例 实例6 数组应用实例 实例7 字符...

    文件上传和ajax获取json的小示例

    jsp上传图片的示例,把文件保存在服务器和数据库,数据从数据库的获取,可以通过ajax来发送请求来获取,实现自动刷新的功能,实时获取数据库的数据,用json的方式返回给页面

    JSP网络编程从基础到实践的实例代码

    实例1 第一个JSP页面 第3章 Web开发基础 实例2 HTML与JavaScript交互示例 第4章 JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用实例 实例6 数组应用实例 实例7 字符...

    JSP网络编程从基础到实践

    《JSP网络编程从基础到实践》 实例1 第一个JSP页面 Web开发基础 实例2 HTML与JavaScript交互示例 JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用...

    JSP Ajax经典实例大全源代码.rar

     2.1无刷新显示回帖  2.2输入内容前提示  2.3带进度的文件上传  2.4大量数据动态浏览查询  2.5信息排序  2.6切换标签页  第三章 电子商务应用  3.1注册表单验证  3.2购物车  3.3产品快速检索  3.4系列...

Global site tag (gtag.js) - Google Analytics