应项目要求,需要异步上传文件进行业务处理且展示结果,之前曾用过DWR、JQuery等开源Ajax框架,发现并没有相关的技术支持。在网上搜索一些资料、结合自己的摸索发现有几个关键点:
1、提交form时,其目标为当前页面隐藏的iframe。
form标签的格式:
<form name="form1" action="异步请求地址" method="post" target="_iframeId" enctype="multipart/form-data"
>
iframe标签格式:
<iframe src="./" name="_iframeId" id="_iframeId"
style="display:none"
></iframe>
2、后台处理上传的文件流。
(1)以java为例,可以采用jspSmartUpload、Commons-fileupload等。在项目中应用了Webwork2框架,可以配置Webwork的fileUpload Interceptor,然后在Action里将从上下文获取到的request转换成MultiPartRequestWrapper类型,即可获得上传的文件列表。
(2)对于文件的处理,针对不同类型的文件,有很多开源包。比如:
Apache POI------用于处理Excel,WORD等Microsoft Format的文档
PDFBox------用于处理PDF文档
Commons-Digester------非常优秀的处理XML文档的项目
HTML Parser------用户解析html信息等
3、展示业务处理结果
需要不用刷新页面,以显示处理结果,可以采用javaScript来完成。
具体为在后台业务处理完成后,可通过上下文获取页面应答输出流对象,输出javaScript脚本来执行一些展示数据的动作。因为输出内容是在页面的iframe标签里,所以如果要调用页面上iframe之外的对象必须用前缀parent.来标识。
示意代码如下:
HttpServletResponse res = context.getResponse();
res.setContentType("text/html; charset=GBK");
PrintWriter out = res.getWriter();
try {
out.print("<script>parent.callback('The result info.');</script>");
} finally {
out.close();
}
分享到:
相关推荐
在本项目"JQuery异步上传文件demo"中,我们将探讨如何使用jQuery的Ajax功能来实现这一目标。 首先,让我们了解异步上传的基本原理。传统的文件上传通常涉及表单提交,这会导致页面刷新,打断用户操作。而异步上传则...
在JavaScript中,异步上传文件是一项常见的需求,特别是在Web应用中,用户可能需要上传图片、文档等资源。这里我们将深入探讨如何使用JavaScript、Ajax、Servlet、Action和JSP来实现这个功能。 首先,我们从...
在页面中,创建一个按钮或链接来触发文件选择对话框,用户选择文件后,SWFUPLOAD会处理这些文件并发起异步上传请求。 在Java后端,你需要创建一个能够接收文件上传的Servlet或Controller。Java提供了多种处理文件...
总的来说,"struts2+jquery+ajax文件异步上传"是一个结合了后端处理和前端交互的文件上传解决方案,提供了良好的用户体验和灵活性。通过MyEclipse这样的集成开发环境,开发者可以方便地构建、调试和部署这样的项目。
**jQuery异步上传详解** 在Web开发中,文件上传是一个常见的功能,特别是在用户需要提交包含图片、文档等大型数据时。传统的文件上传方式通常采用表单提交,这会导致页面刷新,用户体验不佳。为了解决这个问题,...
在.NET MVC3中,开发人员经常需要处理...总的来说,.NET MVC3结合Uploadify-v3.0可以实现高效的异步文件上传,但需要注意正确配置和处理可能出现的问题。通过不断调试和优化,可以创建出稳定且用户体验良好的上传功能。
在分析这个组件时,我们需要注意其如何处理文件选择、状态管理、异步上传和取消操作等方面。 总之,实现多图片上传和取消上传功能,需要掌握HTML5的File API、FormData以及异步请求技术。结合前端框架,可以构建出...
Java Web中的Ajax异步提交方式上传文件是一种常见且高效的用户交互技术,它允许用户在不刷新整个页面的情况下发送数据到服务器并接收响应。本项目利用Maven构建,前端使用jQuery库以及jQuery-form插件,后端则采用...
在IT领域,尤其是在数据分析、报表制作以及业务处理中,Excel文件常常被用来存储和传递大量数据。本知识点主要探讨如何高效地实现Excel文件的导入,特别是利用异步线程技术来提升性能。异步线程在多任务环境中,能够...
通过异步上传机制,WebUploader能够实现多文件并发上传,并支持文件的分片和断点续传,极大地提升了用户体验。 二、核心功能特性 1. **多文件选择**:用户可以一次性选择多个文件进行上传。 2. **文件预览**:支持...
在本项目中,我们将利用jQuery来处理用户的拖放操作和异步上传请求。 2. **HTML5拖放API**: HTML5引入了拖放API,使得在网页上实现拖放操作变得简单。通过`dragstart`、`dragenter`、`dragover`、`dragleave`、`...
12. **异步上传**:使用Ajax技术,可以实现文件的异步上传,使得用户可以在文件上传期间继续使用其他页面功能,提高交互性。 通过理解并掌握以上这些知识点,你就能有效地在Java环境中实现文档和图片的上传功能。在...
标题中的“EF+MVC+增删改查+webapi+异步上传文件+类库大全”涵盖了多个关键的IT技术领域,以下是这些技术的详细解释: 1. Entity Framework (EF):这是一个由Microsoft开发的对象关系映射(ORM)框架,用于.NET应用...
用户可以选择多个图片或任何类型的文件,然后通过AJAX异步上传到服务器。 2. **前端验证**:在用户选择文件后,前端可以进行一些初步的验证,如检查文件类型、大小等,避免不符合要求的文件被上传。这可以通过...
达达文档管理系统可能运用了缓存策略、数据库索引优化、异步处理等技术来提高性能。例如,频繁访问的文档信息可能被缓存,减少对数据库的访问。 通过研究这个源码,开发者不仅可以学习到ASP.NET的基础知识,还能...
**性能优化**:为提高用户体验,可以采用异步上传技术,使用户在上传大文件时仍能继续编辑其他内容。还可以利用缓存技术,减少对数据库的直接访问,降低服务器负载。 综上所述,Java整合SSH实现新闻编辑系统是一个...
实现异步上传后,后端需要处理上传的文件。通常,这一步骤与直接通过表单提交文件的操作相同。服务器端接收上传的文件流,并按照业务需求进行处理,比如保存文件到服务器上。 5. jQuery Form插件的其他功能 虽然...
9. **异步上传**:基于Ajax技术,Uploadifive支持异步上传,用户无需等待整个文件上传完成就可以继续浏览其他页面,提高了交互体验。 10. **文件限制**:可以设定单个文件大小限制,以及总的上传文件数量限制,避免...
总之,文件上传与下载是Web应用中不可或缺的部分,而Servlet提供了一套灵活且强大的处理机制。理解并掌握这些技术,对于任何Java Web开发者来说都是必要的技能。在实际开发中,还需要结合业务需求,进行合理的定制和...
- ajaxfileupload.js是一个基于jQuery的插件,专门用于实现文件的异步上传。它的优点是实现简单,可以不用页面刷新即可上传文件,并向用户反馈上传状态。 2. 文件异步上传的技术背景和优势: - 在传统的文件上传...