[置顶] 使用隐藏iframe实现无刷新上传文件

测试例子代码如下:

test.jsp:   上传表单页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>  
<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>
         <%    
     }
 %>

 

 


 

你可能感兴趣的:([置顶] 使用隐藏iframe实现无刷新上传文件)