jsp无刷新文件上传的实现

飞扬跋扈龙少

飞扬跋扈龙少

2016-02-19 19:26

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

  本想利用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://m.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://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

jsp无刷新文件上传的实现

Web开发
jsp无刷新文件上传的实现

ajax(iframe)无刷新提交表单、上传文件

Web开发
ajax(iframe)无刷新提交表单、上传文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Win 8系统新文件搜索的功能

电脑入门
Win 8系统新文件搜索的功能

win7系统更新文件位置查找及删除系统更新文件的方法

电脑网络
win7系统更新文件位置查找及删除系统更新文件的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Illustrator为新文件改变默认字体

Illustrator CorelDRAW
Illustrator为新文件改变默认字体

ajax无刷新上传图片实例

Web开发
ajax无刷新上传图片实例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用$-类型字符串函数会更快

使用$-类型字符串函数会更快

一个非常简单的分页技术MYSQL+JSP 利用了mysql的LIMIT参数

一个非常简单的分页技术MYSQL+JSP 利用了mysql的LIMIT参数
下拉加载更多内容 ↓