jsp无刷新文件上传的实现

2016-02-19 19:26 41 1 收藏

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享jsp无刷新文件上传的实现教程,希望对大家能有一点小小的帮助。

【 tulaoshi.com - Web开发 】

  本想利用AJAX实现无刷新文件上传,后来发现不易实现,在网上找了很久,终于找到一个“伪AJAX”的实现方式,现在发出来我实际的代码,一飨读者。
  首先我们需要一个上传的HTML或者JSP文件,如下:
  FORM METHOD="POST" ACTION="../servlet/FileUploadServlet" enctype="multipart/form-data" target="hidden_frame" onSubmit="showmsg();" style="margin:0;padding:0"
                  input type="file" name="sfile" style="width:450"
                  input type="hidden" name="act" value="upload"
                  INPUT type="submit" value="上传文件"span id="msg"/span
                  br
        font color="red"支持JPG,JPEG,GIF,BMP,SWF,RMVB,RM,AVI文件的上传/font              
                  iframe name='hidden_frame' id="hidden_frame" style='display:none'/iframe
            /form 
  其中FORM的TARGET属性[b]非常重要[/b],把FORM的ACTION提交到一个隐藏的IFRAME中去执行,然后返回的时候在MSG的地方填入操作即可,SERVLET的类似代码如下:
   public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException{
    PrintWriter out = response.getWriter();
    response.setCharacterEncoding("utf-8");
    response.setHeader("Charset","utf-8");
    response.setHeader("Cache-Control", "no-cache");

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

    String filepath="",msg="",ext="";
    SmartUpload su = new SmartUpload();
    boolean succ=true;
                    。。。。。。
    try{
     su.initialize(getServletConfig(),request,response);
     su.setMaxFileSize(102400000);
     su.setTotalMaxFileSize(102400000);
     su.setAllowedFilesList(mediaExt+","+flashExt+","+imgExt);
     su.setDeniedFilesList("exe,bat,,");
     su.upload();
     for (int i=0;isu.getFiles().getCount();i++)
     {
      com.jspsmart.upload.File file = su.getFiles().getFile(i);
   
      if (file.isMissing()) continue;
   
      String fileName=UploadFileUtils.returnRandomFileName(file.getFileExt());
      ext=file.getFileExt().toLowerCase();
                   。。。。。。。。。。。
      
      msg="a href="#"上传成功!/a";
     }
    }catch(SmartUploadException sue){
     succ=false;
     msg="font color=red上传失败:请检查文件扩展名或文件大小!/font";
    }catch(Exception ex){
     succ=false;
     msg="font color=red上传失败:请检查文件扩展名或文件大小!/font";
     ex.printStackTrace();
    }
      msg=Escape.escape(msg);
      if(succ)
       out.println("parent.document.getElementById('msg').innerHTML = unescape('"+msg+"');parent.backCallIframe('"+Escape.escape(ext)+"','"+Escape.escape(filepath)+"')");
      else
       out.println("parent.document.getElementById('msg').innerHTML = unescape('"+msg+"');");
   out.close();
   }

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1621014.html

延伸阅读
标签: Web开发
AJAX 客户端页面代码: index.html 代码如下: html body h1Ajax file upload sample/h1br/input id="uplaod" name="btn_send" type="button" value="上传测试"/ div id=result/div PRE class=js name="code"SCRIPT LANGUAGE=JavaScript // 上传函数 function btn_send.onclick() { data = "" spliter = "-------7d8d733180846" data...
标签: 电脑入门
在日常的生活工作中,我们经常需要创建新的文件夹,这些文件夹可以帮助我们更好的管理我们的文件和电脑。因此创建新文件夹也是每个用户都会的事,在最新的MAC OS X系统中,我们可以通过几种方法创建新文件夹呢? Mac OS X 创建新文件夹的方法: 1. 从「档案」(File)选单中选取「新建文件夹」(New Folder)。 2. 同时按下 Command + ...
标签: Web开发
在WebDev站点上经常看到的一个问题是关于文件上传的。在这篇文章里我将解释如何用PHP实现文件 上传。 设计上传表格 我们主要的目标是完成文件从本地计算机上传到服务器上去。为了做到这一点,我们需要做一个表 格,允许用户选择一个文件并可以提交它。下面是一个例子: HTML HEAD TITLE文件上传表格/TITLE /HEAD BODY TABLE FORM E...
标签: Java JAVA基础
JavaBean是一种基于Java的软件组件。JSP对于在Web 应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。 文件的上传功能在基于B/S的开发模式中非常普遍。同其他开发工具相比较,JSP对文件的上传支持并不是...
标签: Web开发
1.引言 2.实现代码 2.1.服务器端代码 2.1.1. 文件上传状态类(FileUploadStatus) 2.1.2. 文件上传状态侦听类(FileUploadListener) 2.1.3. 后台服务类(BackGroundService) 2.1.4. 文件上传状态控制类(BeanControler) 2.2. 客户端代码 2.2.1. AjaxWrapper.js 2.2.2. fileUpload.html 2.2.3. result.jsp 2.2.4. fileUpload.css 2.3. 配置文...

经验教程

228

收藏

99
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部