当前位置:编程学习 > JAVA >>

使用隐藏iframe实现无刷新上传文件

测试例子代码如下:
 
test.jsp:   上传表单页面
 
[java]  
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<html>    www.zzzyk.com
<body>     
<form action="upload.jsp" id="myform" name="myform" encType="multipart/form-data"  method="post" target="hidden_frame">     
      
    封面图:  <input type="text" id="path" name="path" style="width:450">    
      
    <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文件的上传</font>                   
    <iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>     
</form>   
  
  
  
<script type="text/javascript">   
function callback(msg,path)     
{     
   //清除html file 文本框内的路径值  
   document.getElementById("file").outerHTML =document.getElementById("file").outerHTML;     
   document.getElementById("msg").innerHTML = "<font color=red>"+msg+"</font>";     
   document.getElementById("path").value=path;  
}     
</script>  
    
</body>     
</html>     
 
 
上传后台处理页面:
 
upload.jsp
 
 
 
<%@ page language="java" import="java.util.*,com.jspsmart.upload.*" pageEncoding="UTF-8"%>
<%
 String path = (String)request.getParameter("file");
    //新建一个SmartUpload对象    
     SmartUpload su = new SmartUpload();    
   
    //上传初始化    
     su.initialize(pageContext);    
   
    // 设定上传限制    
    //1.限制每个上传文件的最大长度。    
     su.setMaxFileSize(10000000);    
   
    //2.限制总上传数据的长度。    
     su.setTotalMaxFileSize(20000000);    
   
    //3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。    
     su.setAllowedFilesList("jpg,JPG,doc,txt,rar,xls,xlsx,docx,zip,DOC,TXT,RAR,XLS,XLSX,DOCX,ZIP");   
 
    boolean sign = true;    
    String saveurl =null; 
    String  t_filename="";
    //4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。    
    try {    
         su.setDeniedFilesList("exe,bat,jsp,htm,html");    
   
        //上传文件    
         su.upload();    
        //将上传文件保存到指定目录    
        File myfile=su.getFiles().getFile(0);
        t_filename=System.currentTimeMillis()+"."+myfile.getFileExt();
        saveurl=application.getRealPath("/")+"upload/"+t_filename;
       // saveurl="f:\\excel\\"+System.currentTimeMillis()+"."+myfile.getFileExt();
        System.out.println("saveurl===="+saveurl);
        myfile.saveAs(saveurl,su.SAVE_PHYSICAL);
         //su.save("f:\\excel\\");
 
     } catch (Exception e) { 
         //e.printStackTrace(); 
         sign = false; 
     } 
     if(sign==true) 
     { 
         System.out.println("封面图片上传成功!");
         %>
     
         <script type="text/javascript"> 
parent.callback('upload file success,'+' save path:<%=t_filename%>','<%=t_filename%>');
</script>
         <% 
     }else 
     { 
         System.out.println("封面图片上传失败!");
         %>
<script type="text/javascript"> 
parent.callback('upload file failure!');
</script>
         <%     
     }
 %>
 
 
 
 
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,