html代码:
<head> //所需要的两个JS
<scriptsrc="jquery-1.4.2.min.js"type="text/javascript"></script>
<scriptsrc="ajaxfileupload.js"type="text/javascript"></script>
</head>
<img alt="" src=""id="img" style="display: none"/>
<input id="fup" name="fup"type="file" />
<input id="btnUp" type="button" value="上传"οnclick="ajaxFileUploads();"/>
下载:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js
JS代码:
function ajaxFileUploads()
{
$.ajaxFileUpload(
{
url:'Ajax_fileupload.aspx
,
secureuri:false,
fileElementId:'fup',
dataType: 'json',
success: function (data,status)
{
if(data.err=="")
{
document.getElementByIdx_x("img").style.display="block";
document.getElementByIdx_x("img").src=data.msg;
}
else
{
$('#sperr').text(data.err);
}
},
error: function (data, status,e)
{
$('#sperr').text("上传失败!");
}
});
}
主要参数说明:
1,url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接访问,如上:upload.php
2,fileElementId表示文件域ID,如上:fileToUpload
3,secureuri是否启用安全提交,默认为false
4,dataType数据数据,一般选json,javascript的原生态
5,success提交成功后处理函数
6,error提交失败处理函数
Ajax_fileupload.aspx页面:
protected void Page_Load(object sender,EventArgs e)
{
HttpFileCollection files =System.Web.HttpContext.Current.Request.Files;
HttpPostedFile file = files["fup"];
if(file.ContentLength <=Convert.ToInt32(SizeFunction() * 1024 *1024)) //SizeFunction()获得文件限制大小可以自己写在配置文件里,限制上传的大小
{
if(IsValidFileType(file.FileName)) //验证文件类型
{
string picPaht =Server.MapPath(FileFunciton()); //FileFunction() 文件保存的路径 这里的路径,名字 随自己要求设置,我这里最简单的日期了.
Random rd = newRandom();
string name =DateTime.Now.ToString("yyyyMMddhhmmssfff") + rd.Next(1000) +GetExtension(file.FileName);
string strNewPath =GetSaveFilePath(picPaht) + name;
file.SaveAs(strNewPath);
Response.Write("{msg:'" +dal.ImgUrl() + name + "',err:''}");
}
else
{
Response.Write("{msg:'',err:'类型错误!'}");
}
}
else
{
Response.Write("{msg:'',err:'大小错误!'}");
}
}
///<summary>
/// 验证文件类型
/// </summary>
/// <paramname="FileName"></param>
///<returns></returns>
private bool IsValidFileType(string FileName)
{
string[]_AcceptedFileTypes = TypeFunction().Split('|'); //TypeFunction()获得文件限制类型 这里我是以"|"分隔, 获得数组, 循环验证的
string ext =FileName.Substring(FileName.LastIndexOf(".") + 1, FileName.Length -FileName.LastIndexOf(".") - 1);
for (int i =0; i < _AcceptedFileTypes.Length; i++)
{
if (ext ==_AcceptedFileTypes)
{
return true;
}
}
returnfalse;
}
///<summary>
/// 获得文件扩展名
/// </summary>
/// <paramname="fileName"></param>
///<returns></returns>
private string GetExtension(string fileName)
{
try
{
int startPos =fileName.LastIndexOf(".");
string ext =fileName.Substring(startPos, fileName.Length - startPos);
return ext;
}
catch
{
return string.Empty;
}
}
///<summary>
/// 创
<head>
<scriptsrc="jquery-1.4.2.min.js"type="text/javascript"></script>
<scriptsrc="ajaxfileupload.js"type="text/javascript"></script>
</head>
<img alt="" src=""id="img"
<input id="fup" name="fup"type="file" />
<input id="btnUp" type="button" value="上传"οnclick="ajaxFileUploads();"/>
下载:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js
JS代码:
function ajaxFileUploads()
{
$.ajaxFileUpload(
}
主要参数说明:
1,url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接访问,如上:upload.php
2,fileElementId表示文件域ID,如上:fileToUpload
3,secureuri是否启用安全提交,默认为false
4,dataType数据数据,一般选json,javascript的原生态
5,success提交成功后处理函数
6,error提交失败处理函数
Ajax_fileupload.aspx页面:
protected void Page_Load(object sender,EventArgs e)
{
}
///<summary>
/// 验证文件类型
/// </summary>
/// <paramname="FileName"></param>
///<returns></returns>
private bool IsValidFileType(string FileName)
{
}
///<summary>
/// 获得文件扩展名
/// </summary>
/// <paramname="fileName"></param>
///<returns></returns>
private string GetExtension(string fileName)
{
}
///<summary>
/// 创