下面介绍的是非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属性
非常重要,把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");
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;i<su.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();
}
分享到:
相关推荐
JSP批量上传,实现多文件无刷新上传(带有进度条)。 程序加了些须的验证,目前只能上传图片。 压缩文件为Eclipse项目文件,直接导入即可使用 预览图片地址: ...注:所有文件保存到项目文件夹下的uplaod文件夹下,...
综上所述,JSP无刷新文件上传的实现涉及前端的AJAX、FileReader API和后端的文件处理。通过合理的设计和编程,可以创建一个高效、安全的文件上传系统,极大地提升了用户在网页应用中的交互体验。
在IT行业中,无刷新上传文件是一项重要的...总结,"jsp无刷新上传文件"是通过结合iframe、AJAX和jsp技术实现的一种优化用户体验的文件上传方案。在实际应用中,需要考虑安全性和兼容性,确保文件上传的稳定性和可靠性。
总结来说,虽然AJAX自身不支持文件上传,但通过巧妙地结合IFRAME和JSP,我们可以实现无刷新的文件上传效果,提高Web应用的用户体验。这种技术在现代Web开发中有着广泛的应用,尤其是在需要大量用户交互的场景下。
java项目之仿163网盘无刷新文件上传jspjava项目之仿163网盘无刷新文件上传jspjava项目之仿163网盘无刷新文件上传jspjava项目之仿163网盘无刷新文件上传jspjava项目之仿163网盘无刷新文件上传jspjava项目之仿163网盘...
由于只有一个文件名"上传下载]仿163网盘无刷新文件上传 for Jsp_fileupload_jsp",可以推测这可能是一个包含完整源代码的JSP文件,用于实现上述的无刷新文件上传功能。通常,这样的文件可能包含了HTML、JavaScript、...
以上就是纯JSP实现文件上传的基本流程。在这个过程中,我们利用了HTML5的`FormData`对象和AJAX技术来实现无刷新上传,同时利用JSP处理服务器端的文件存储和返回信息。通过这种方式,用户可以在同一个页面上连续填写...
### AJAX与JSP结合实现无刷新文件上传 在Web开发领域,用户体验的优化始终是开发者追求的目标之一。其中,无刷新文件上传作为一种提高用户交互体验的技术手段,在实际应用中非常常见。本文将详细介绍如何利用AJAX与...
(4)巧妙实现页面无刷新处理; (5)上传进度提示; (6)采用专用线程负责上传; (7)支持多文件上传; (8)具体效果请看http://blog.csdn.net/hbccgg/archive/2011/04/29/6371080.aspx (9)压缩文件为Eclipse...
本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。 开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点。当然Ajax出现之后,人们一窝蜂地...
【作品名称】:基于 JSP 实现的仿163网盘无刷新文件上传 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于 JSP ...
在传统的JSP文件上传中,通常需要使用表单(form)和输入类型为文件(file)的组件,用户选择文件后提交表单,服务器接收并处理文件,然后返回响应,整个过程伴随着页面的刷新。 但是,"无组件"的概念意味着在这里...
"JSP文件上传 支持进度条显示"这个项目是针对JSP环境设计的一个AJAX Web上传程序,它允许用户上传大文件(如单个文件100M),并具有文件上传进度条的可视化功能。以下将详细解析这个项目的知识点: 1. **JSP(Java...
【Ajax、Iframe与JSP实现无刷新文件上传】 在Web开发中,用户常常期望能够进行文件上传而无需页面整体刷新,以提供更好的用户体验。Ajax(异步JavaScript和XML)结合Iframe技术可以实现这样的功能。Ajax允许在后台...
【标题】"FileUpload_jsp无刷新文件上传源码.zip" 涉及的主要知识点是JSP中的文件上传功能,特别是在不刷新整个页面的情况下实现这一功能。无刷新文件上传技术通常借助于AJAX(Asynchronous JavaScript and XML)或...
【JSP仿163网盘无刷新文件上传】是一个技术实践,主要涉及AJAX(Asynchronous JavaScript and XML)技术和JSP(JavaServer Pages)的结合应用,旨在提供一种用户体验良好的文件上传方式,即在不刷新整个网页的情况下...
本项目“仿163网盘无刷新文件上传 for JSP”就是针对这一需求而设计的,主要利用JavaServer Pages(JSP)技术实现,结合前端JavaScript和Ajax技术,实现文件的异步上传。 首先,我们需要理解JSP的基本概念。JSP是...
1、纯JSP代码编写,能够实现文件上传处理 2、带进度条,上传时页面无需刷新 3、支持中文文件名 4、代码比Ajax方式简单很多 5、在Tomcat7.0上调试通过(很容易修改为支持Tomcat6.0以下版本) 6、Eclipse项目源文件 7...
【描述】"上传下载]仿163网盘无刷新文件上传 for Jsp_fileupload_jsp" 进一步确认了这是一个关于JSP文件上传和下载的实现,特别是聚焦于无刷新技术。无刷新技术通常依赖于Ajax(Asynchronous JavaScript and XML)...