jsp无刷新文件上传的实现

2016-02-19 19:26 39 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");

(本文来源于图老师网站,更多请访问https://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();
   }

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

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

延伸阅读
标签: Web开发
1.建立一个aspx页面 html代码 html xmlns="http://www.w3.org/1999/xhtml" head id="Head1" runat="server"     title小山/title     link type="text/css" href="../../Styles/tree_css/tree.css" rel="stylesheet" /head body     form id="Form1" runat...
标签: Web开发
在WebDev站点上经常看到的一个问题是关于文件上传的。在这篇文章里我将解释如何用PHP实现文件 上传。 设计上传表格 我们主要的目标是完成文件从本地计算机上传到服务器上去。为了做到这一点,我们需要做一个表 格,允许用户选择一个文件并可以提交它。下面是一个例子: HTML HEAD TITLE文件上传表格/TITLE /HEAD BODY TABLE FORM E...
标签: Java JAVA基础
JavaBean是一种基于Java的软件组件。JSP对于在Web 应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。 文件的上传功能在基于B/S的开发模式中非常普遍。同其他开发工具相比较,JSP对文件的上传支持并不是...
标签: Web开发
代码如下: %@ page contentType="text/html;charset=gb2312"% html head meta http-equiv="Content-Type" content="text/html; charset=gb2312" /head body leftmargin="0" topmargin="0" bgcolor="#ffffff" form action="upfilea.jsp" method="post" name="form1" enctype="multipart/form-data" input name="FileName" type="FILE" ...
标签: 电脑入门
在日常的生活工作中,我们经常需要创建新的文件夹,这些文件夹可以帮助我们更好的管理我们的文件和电脑。因此创建新文件夹也是每个用户都会的事,在最新的MAC OS X系统中,我们可以通过几种方法创建新文件夹呢? Mac OS X 创建新文件夹的方法: 1. 从「档案」(File)选单中选取「新建文件夹」(New Folder)。 2. 同时按下 Command + ...

经验教程

411

收藏

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