iframe 无刷新上传文件不好用

问题描述

两个jsp:1.NewList.jsp、2.MyJsp.jsp-----------------NewList.jsp---------------原代码<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title></title><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"><!--<linkrel="stylesheet"type="text/css"href="styles.css">--><scripttype="text/javascript">functioncallback(msg){document.form1.file2.value=msg;}functioncallback1(msg){document.form1.file3.value=msg;}functioncallback2(msg){document.form1.filesize.value=msg;}</script></head><body><formaction="MyJsp.jsp"method="post"name="form1"enctype="multipart/form-data"target="ifm"><iframeid='ifm'name='ifm'style="display:none"></iframe><tablewidth="65%"align="center"height="50%"cellpadding="0"cellspacing="0"border="1"><trheight="24"><tdwidth="25%">单词名称</td><tdwidth="75%"><inputtype="text"name="word"/></td></tr><trheight="24"><tdwidth="25%"align="right">上传文件</td><tdwidth="75%"><inputname="file1"type="file"><inputtype="button"name="button"value="点击上传"></td></tr><trheight="24"><tdwidth="25%">原始文件名</td><tdwidth="75%"><inputtype="text"name="file2"id="file2"/></td></tr><trheight="24"><tdwidth="25%">改后文件名</td><tdwidth="75%"><inputtype="text"name="file3"id="file3"/></td></tr><trheight="24"><tdwidth="25%">文件大小</td><tdwidth="75%"><inputtype="text"name="filesize"id="filesize"></td></tr><trheight="24"><tdwidth="25%"></td><tdwidth="75%"><inputtype="button"name="button"value="提交"/></td></tr></table></form></body></html>-----------------------------MyJsp.jsp---------------------------<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pageimport="org.apache.commons.fileupload.disk.DiskFileItemFactory"%><%@pageimport="org.apache.commons.fileupload.servlet.ServletFileUpload"%><%@pageimport="org.apache.commons.fileupload.FileItem"%><%@pageimport="java.text.SimpleDateFormat"%><%@pageimport="java.io.File"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%//获得Servlet上下文对象ServletContextcontext=this.getServletContext();//磁盘文件列表工厂对象DiskFileItemFactoryfact=newDiskFileItemFactory();//Servlet文件上传对象ServletFileUploadupload=newServletFileUpload(fact);//获得上传列表//获得最大上传对象超出10兆将会出现异常upload.setSizeMax(1024*1024*10);//获得所有上传对象集合List<FileItem>fileitem=upload.parseRequest(request);//获得第一个文件对象FileItemfile=fileitem.get(0);//获得文件大小longfilesize=file.getSize();//获得客户端文件路径StringClientName=file.getName();//获得原始文件名称StringOldFileName=ClientName.substring(ClientName.lastIndexOf("\")+1);//获得原始文件后缀StringextName=ClientName.substring(ClientName.lastIndexOf("."));//生成新文件名称(当前毫秒数1~1000)Datedate=newDate();SimpleDateFormatsimpldate=newSimpleDateFormat("yyyyMMddhhmmss");StringnewFileName=simpldate.format(date)+extName;//设置上传文件夹和临时文件夹的物理路径StringsivePath="D:/vedio";sivePath=sivePath+"/"+newFileName;System.out.println(sivePath);//sivePath=sivePath+newFileName;//创建文件对象Filef=newFile(sivePath);if(!f.exists()){f.mkdirs();}StringtargetPath=sivePath+newFileName;System.out.println(targetPath);Filetargetfile=newFile(targetPath);//写入文件(上传文件)file.write(targetfile);out.println("<script>parent.callback('"+OldFileName+"')</script>");out.println("<script>parent.callback1('"+newFileName+"')</script>");out.println("<script>parent.callback2('"+filesize+"')</script>");%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><title></title><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"><!--<linkrel="stylesheet"type="text/css"href="styles.css">--></head><body></body></html>

时间: 2024-09-27 07:51:28

iframe 无刷新上传文件不好用的相关文章

利用iframe无刷新上传文件的坑

原文:利用iframe无刷新上传文件的坑 页面里经常要用到文件上传的功能,而且要求页面不刷新,先说一下原理:页面里放一个file控件和submit按钮,外面用form表单包住,给form表单加上对应的属性值,action.method.entype.name,到这一步,能上传文件了,但是这样上传文件会刷新页面,这不是我们想要的.我们要的是文件上传时不刷新页面,那么也简单,在页面里放一个iframe,设置它的宽高为0,这里有两个坑: 1.需要设置iframe的name值与form的target属性

javascript实现iframe无刷新上传文件

许多系统都会有上传图片这个功能,但是如果是用form表单提交的话,每次都会刷新页面,这样体验很不好: 今天分享一个利用iframe实现无刷新上传文件的方法,直接上代码: html <form class="form-horizontal text-sm" id="upload" name="upload[]" target="frm" action="/ERP/files/upFiles" metho

ajax +jsp+iframe无刷新上传文件

  http://hi.baidu.com/zj360202/blog/item/f23e3711f929c774cb80c475.html ajax jsp 无刷新上传文件 2009-10-26 16:43首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的.    而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"

请问使用iframe进行无刷新上传文件时,好像没有效果?

问题描述 请问使用iframe进行无刷新上传文件时,好像没有效果? 在网上找了关于iframe 无刷新上传文件,上传时没有反应,这一般是什么原因?会不会是浏览器的原因啊? 解决方案 你代码有问题..和浏览器没关系.如果你跨域上传文件,是无法获取iframe里面的内容的 给iframe添加onload事件,获取iframe里面额返回值进行判断,不要依赖动态页返回的内容,要不如果动态页报错没有输出js回调或者提示信息就和没反应一样了

谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法_javascript技巧

发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明:      html如下所示,请求的路径action为"upload",其它的不做任何处理: <form method="POST" action="upload" enctype="multipart/form-data"> 名字 <input type="t

php+iframe实现隐藏无刷新上传文件_php实例

首先ajax不能上传文件,这误导了我有段时间,今晚睡不着就照着说明做了个无刷新上传文件 其实原理很简单 复制代码 代码如下: <form enctype="multipart/form-data" method="POST" target="upload" action="http://localhost/class.upload.php" > <input type="file" nam

asp.net中MVC借助Iframe实现无刷新上传文件实例_实用技巧

本文实例讲述了asp.net中MVC借助Iframe实现无刷新上传文件的方法.分享给大家供大家参考.具体实现方法如下: html: 复制代码 代码如下: <div id="uploadwindow" style="display: none;">     <form action="/ShopActivitys/ImportActivityItems" id="form1" name="form1&

通过隐藏iframe实现无刷新上传文件操作_javascript技巧

其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点.当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了.但是用iFrame来实现无刷新上传文件确实一个很好的选择. 解决办法是通过一个隐藏的iframe来处理上传操作我采用的是ReactJS,amazeui,nodejs 1.html target指向iframe的name,就是把上传后的操作交给iframe来处理. <form id="supplyformFile&qu

PHP无刷新上传文件实现代码

index.html <html> <head> <title>无刷新上传文件</title> <meta Content-type="text/html" charset="utf-8" /> <script type="text/javascript"> function startUpload() { document.getElementById('processin