一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子 |
|
jQuery插件AjaxFileUpload可以实现ajax文件上传,该插件使用非常简单,首先了解一下正确使用AjaxFileUpload插件的方法,然后再了解一些常见的错误信息和解决方法 。 使用说明 需要使用jQuery库文件 和AjaxFileUpload库文件 使用实例 一,包含文件部分 复制代码 代码如下: <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="ajaxfileupload.js"></script> 二,HTML部分 复制代码 代码如下: <img id="loading " src="loading.gif" style="display:none;"> <input id="fileToUpload " type="file" size="20" name="fileToUpload " class="input"> <button class="button" id="buttonUpload" onclick="return ajaxFileUpload ();">上传</button> 只需要三个元素,一个动态加载小图标、一个文件域和一个按钮 <form name="form" action="" method="POST" enctype="multipart/form-data"> 对于file文件域ID和name,ajaxFileUpload插件fileElementId参数需要获取文件域ID,如果处理上传文件操作就需要知道文件域name,以便获取上传文件信息,这两者关系一定要清楚 。 三,javascript部分
<script type="text/javascript">
function ajaxFileUpload (){
loading();//动态加载小图标
$.ajaxFileUpload ({
url :upload.php,
secureuri :false,
fileElementId :fileToUpload,
dataType : json,
success : function (data, status){
if(typeof(data.error) != undefined){
if(data.error != ){
alert(data.error);
}else{
alert(data.msg);
}
}
},
error: function (data, status, e){
alert(e);
}
})
return false;
}
function loading (){
$("#loading ").ajaxStart(function(){
$(this).show();
}).ajaxComplete(function(){
$(this).hide();
});
}
</script>
主要参数说明: 上面有两个方法,一个动态加载小图标提示函数loading()和ajaxFileUpload文件上传$.ajaxFileUpload()函数,这与我们使用jQuery.ajax()函数差不多,使用很简单,这里我省略了PHP处理上传文件,使用jQuery插件 AjaxFileUpload实现ajax文件就这么简单 。 同时我们需要了解相关的错误提示 1,SyntaxError: missing ; before statement错误 2,SyntaxError: syntax error错误 3,SyntaxError: invalid property id错误 4,SyntaxError: missing } in XML expression错误 5,其它自定义错误 使用jQuery插件AjaxFileUpload实现无刷新上传文件非常实用,由于其简单易用,因些这个插件相比其它文件上传插件使用人数最多,非常值得推荐 。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class web_ajax_FileUpload : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HttpFileCollection files = HttpContext.Current.Request.Files;
//if (files[0].ContentLength > 5)
//{
// Response.Write("{");
// Response.Write("msg:" + files[0].FileName + ",");
// Response.Write("error:文件上传失败");
// Response.Write("}");
//}
//else
//{
// Response.Write("{");
// Response.Write("msg:没有文件被上传,");
// Response.Write("error:文件上传失败");
// Response.Write("}");
//}
files[0].SaveAs("d:/adw.jpg");
Response.Write("{");
Response.Write("msg:a,");
Response.Write("error:");
Response.Write("}");
//Response.Write("{");
//Response.Write("msg:ggg\n,");
//Response.Write("error:aa\n");
//Response.Write("}");
Response.End();
}
}
其它网友的补充: 页面代码: 复制代码 代码如下: <html> <!-- 引入相关的js文件,相对路径 --> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/ajaxfileupload.js"></script> <!-- 执行上传文件操作的函数 --> 服务器代码: 复制代码 代码如下: public class UpdateAction extends DispatchAction { public ActionForward uploader(ActionMapping mapping, ActionForm form, |