`
viproc
  • 浏览: 46604 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ajax方式提交带文件上传的表单

    博客分类:
  • ajax
阅读更多

ajax方式提交带文件上传的表单

<wbr><wbr><wbr>一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦。基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数据提交成功之后的回调函数中,通过form单独提交文件,而这个提交文件的form的target就指向前述隐藏的iframe。</wbr></wbr></wbr>

html 代码
<html>

<wbr><wbr><wbr><br> <body><wbr><wbr><wbr><br><wbr><wbr><br> <form action="upload.jsp" id="form1" name="form1"encType="multipart/form-data"<wbr> method="post"<span style="color:#2F3699">target="hidden_frame"</span>><wbr><wbr><wbr><br><wbr><wbr><wbr> <inputtype="file" id="file" name="file"style="width:450"><wbr><wbr><wbr><br><wbr><wbr><wbr> <INPUTtype="submit" value="上传文件"><spanid="msg"></span><wbr><wbr><wbr><br><wbr><wbr><wbr><br><wbr><wbr><wbr><br><wbr><wbr><wbr> <fontcolor="red">支持JPG,JPEG,GIF,BMP,SWF,RMVB,RM,AVI文件的上传</font><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><span style="color:#2F3699"><iframe name='hidden_frame' id="hidden_frame"style='display:none'></iframe></span><wbr><wbr><wbr><br> </form><wbr><wbr><wbr><br><wbr><wbr><br> </body><wbr><wbr><wbr><br> </html><wbr><wbr><wbr><br><wbr><wbr><br> <scripttype="text/javascript"><wbr><wbr><wbr><br><span style="color:#2F3699">functioncallback(msg)</span><wbr><wbr><wbr><br> {<wbr><wbr><wbr><br><wbr><wbr><wbr>document.getElementByIdx_x_x("file").outerHTML =document.getElementByIdx_x_x("file").outerHTML;<wbr><wbr><wbr><br><wbr><wbr><wbr>document.getElementByIdx_x_x("msg").innerHTML = "<fontcolor=red>"+msg+"</font>";<wbr><wbr><wbr><br> }<wbr><wbr><wbr><br> </script><wbr><wbr><br><p>index.html 中主要要做的就是写一个 form和 iframe ,并把 form 的 target 设为 iframe的名字,注意要把 iframe设为不可见,其他的都是正常的文件上传的写法,这样刷新的页面就是这个隐藏的 Iframe ,而在index.html中是不会有页面刷新的,js的callback方法是回调方法。用于清空文件上传框和显示后台信息,注意清空文件上传框的方法,和普通方法有点不一样。</p> <p><wbr></wbr></p> <p>--upload.jsp9Dhjsp 代码<br> <%@ page language="java" contentType="text/html; charset=gb2312"%><wbr><wbr><wbr><br> <%@ pageimport="com.jspsmart.upload.SmartUpload"%><wbr><wbr><wbr><br><wbr><wbr><br> <%<wbr><wbr><wbr><br><wbr><wbr><wbr>//新建一个SmartUpload对象<wbr><wbr><wbr><br><wbr><wbr><wbr> SmartUploadsu = newSmartUpload();<wbr><wbr><wbr><br><wbr><wbr><br><wbr><wbr><wbr>//上传初始化<wbr><wbr><wbr><br><wbr><wbr><wbr>su.initialize(pageContext);<wbr><wbr><wbr><br><wbr><wbr><br><wbr><wbr><wbr> //设定上传限制<wbr><wbr><wbr><br><wbr><wbr><wbr>//1.限制每个上传文件的最大长度。<wbr><wbr><wbr><br><wbr><wbr><wbr>su.setMaxFileSize(10000000);<wbr><wbr><wbr><br><wbr><wbr><br><wbr><wbr><wbr>//2.限制总上传数据的长度。<wbr><wbr><wbr><br><wbr><wbr><wbr>su.setTotalMaxFileSize(20000000);<wbr><wbr><wbr><br><wbr><wbr><br><wbr><wbr><wbr>//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。<wbr><wbr><wbr><br><wbr><wbr><wbr>su.setAllowedFilesList("doc,txt,jpg,rar,mid,waw,mp3,gif");<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr> boolean sign= true;<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr>//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。<wbr><wbr><wbr><br><wbr><wbr><wbr> try{<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>su.setDeniedFilesList("exe,bat,jsp,htm,html");<wbr><wbr><wbr><br><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>//上传文件<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>su.upload();<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
评论

相关推荐

    ajax提交form表单和上传图片

    本教程将详细讲解如何利用jQuery、jQuery Form插件以及Spring MVC框架来实现Ajax提交表单并上传图片。通过这种方式,用户无需等待页面刷新,即可完成操作,提升了交互性。 首先,`jquery.js` 是jQuery库的核心文件...

    非常简单的ajax表单提交

    jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传.

    java web ajax异步提交方式上传文件

    3. **jQuery-form插件**:此插件扩展了jQuery的功能,使得表单数据可以通过Ajax方式提交,包括文件上传。它处理了文件上传的复杂性,如创建隐藏IFrame、处理跨域问题等,使得文件上传变得简单。 4. **Ajax**:...

    Ajax上传文件(无需表单)实测可用

    总的来说,“Ajax上传文件(无需表单)实测可用”项目提供了一个简洁、高效的文件上传解决方案,适用于现代Web应用,使得用户在上传文件时不必离开当前页面,提高了网站的交互性和用户体验。这个项目可以轻松地融入...

    Ajax方式提交带文件上传的表单及隐藏iframe应用

    然而,当涉及到文件上传时,传统的AJAX提交方式会遇到困难,因为XMLHttpRequest对象不支持多部分(multipart/form-data)的POST请求,这是文件上传所需的格式。为了实现AJAX方式的文件上传,通常会结合使用隐藏的...

    spring+velocity+ajax带进度条上传文件

    在文件上传过程中,Velocity可以用来创建用户界面,展示上传文件的表单,以及接收并处理由Ajax提交的请求结果。 **Ajax技术**: Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器...

    使用AJAX上传文件及表单数据

    这篇博客“使用AJAX上传文件及表单数据”主要讲解了如何利用AJAX实现文件和表单数据的异步提交,提高用户体验。下面我们将详细探讨这一主题。 首先,AJAX的核心是XMLHttpRequest对象,它提供了一种在后台与服务器...

    ajaxForm异步提交表单(含图片)

    AjaxForm是基于jQuery库的一个插件,它简化了表单的异步提交过程,支持多种类型的文件上传,包括图片。 使用ajaxForm的步骤如下: 1. **引入jQuery和ajaxForm插件**:确保在HTML文件中引入jQuery库和ajaxForm插件...

    不用form提交表单,用ajax上传文件

    通过以上步骤,你就可以实现一个基于Ajax的文件上传功能,无需form提交,提高了用户体验。在实际项目中,还需要考虑安全性、性能优化等方面的问题,例如设置文件大小限制、文件类型检查、防止重复上传等。

    ajax提交file文件

    在前端开发中,"ajax提交file文件"是一个常见的需求,特别是在现代Web应用中,用户可能需要上传图片、文档等文件而无需刷新整个页面。Ajax(Asynchronous JavaScript and XML)技术使得这种异步通信成为可能,它允许...

    Ajax表单提交插件jquery form

    总结来说,jQuery Form插件是提升Web应用表单交互体验的强大工具,它简化了Ajax提交表单的流程,同时提供了丰富的自定义选项和事件处理,使开发者能够轻松处理复杂的表单提交场景。结合后端处理,如`submit.php`,...

    ajax 文件上传(带进度显示支持大文件)

    在现代Web应用中,用户对实时交互性和流畅体验的需求越来越高,传统的表单提交方式往往会导致页面刷新,影响用户体验。Ajax(Asynchronous JavaScript and XML)技术的出现,解决了这个问题,允许我们在后台与服务器...

    Struts AJAX文件上传

    Struts AJAX 文件上传是一种在Java Web开发中实现异步数据传输的技术,它结合了Struts框架和AJAX(Asynchronous JavaScript and XML)的优势,提供了一种用户友好的、无刷新的文件上传方式。这种方式可以显著提升...

    ajax实现文件上传

    ### AJAX 实现文件上传 在探讨 AJAX 如何实现文件上传之前,我们首先简要回顾一下 AJAX 的历史背景及其带来的变革。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分...

    Ajax实现文件上传

    在现代Web应用中,用户对交互性和实时性的需求越来越高,传统的表单提交方式往往不能满足这些需求,尤其是在处理大文件上传时。这时,Ajax技术就显得尤为重要,它能实现页面无刷新的数据交换,使得文件上传过程更加...

    .net+ajax+jquery.form实现简单的图片批量上传源码

    4. `jQuery.form`插件简化了AJAX表单提交,支持文件上传。 5. 服务器端使用`HttpPostedFileBase`类处理上传的文件。 理解并掌握这些技术,开发者可以构建出更加高级和定制化的图片批量上传功能,满足不同项目的需求...

    springmvc ajax 文件上传下载文件 multiple

    - 如果不使用AJAX,可以通过传统的HTML表单`&lt;form&gt;`配合`enctype="multipart/form-data"`进行文件上传,但这种方式会触发页面刷新。 - `action`属性指定到Spring MVC的Controller处理方法,`method`通常是`POST`,...

    AjaxUpload.rar 文件上传

    AjaxUpload是一种基于JavaScript和Ajax技术实现的异步文件上传方式,它允许用户在不刷新整个网页的情况下上传文件,显著提升了用户体验。AjaxUpload的核心是利用XMLHttpRequest对象与服务器进行交互,通过创建隐藏的...

    spring mvc ajax异步文件的上传和普通文件上传

    总结起来,Spring MVC提供了方便的文件上传支持,无论是传统的HTTP表单提交还是Ajax异步上传,都能轻松应对。了解并掌握这些技术,对于开发高效、用户体验优秀的Web应用至关重要。在实际应用中,还需要注意文件大小...

Global site tag (gtag.js) - Google Analytics