Jquery上传插件 uploadify v3.1使用说明
使用方法(.net版本):
前台js
代码如下:
$("#id").uploadify({
height: 30,
swf: '/uploadify/uploadify.swf',
uploader: '/handler/uploadpic.ashx',
width: 120,
cancelimg: '/uploadify/uploadify-cancel.png',
buttontext: '选择图片',
filetypeexts: '*.gif;*.jpg;*.jpeg;*.png',
'filesizelimit': '6000kb',
removecompleted: false,
'formdata': {
"id":"1"
},
onuploadsuccess: function (file, data, response) {//上传完成时触发(每个文件触发一次)
if (data.indexof('错误提示') > -1) {
alert(data);
}
else {
//$("#previewimage").attr("src", data.substr(2)).hide().fadein(2000);
alert("上传成功!");
}
},
'onuploaderror': function (file, errorcode, errormsg, errorstring) {//当单个文件上传出错时触发
alert('文件:' + file.name + ' 上传失败: ' + errorstring);
} });
ashx文件:
. 代码如下:
protected string allowext = "7z|aiff|asf|avi|bmp|csv|doc|docx|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pptx|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xlsx|xml|zip";//支持的文件格式
int filemaxsize = 10240;//文件大小,单位为kpublicvoid processrequest(httpcontext context)
{
context.response.contenttype = "text/plain";
string parentid = context.request.params["id"];
httppostedfile fileupload = context.request.files[0];
if (fileupload != null)
{
try
{
string uploaddir = "~/upload/";//图片保存的文件夹
//图片保存的文件夹路径
string path = context.server.mappath(uploaddir);
//每天上传的图片一个文件夹
string folder = datetime.now.tostring("yyyymm");
//如果文件夹不存在,则创建
if (!directory.exists(path + folder))
{
directory.createdirectory(path + folder);
}
//上传图片的扩展名
string fileextension = fileupload.filename.substring(fileupload.filename.lastindexof('.'));
//判断文件格式
if (!checkvalidext(fileextension))
{
context.response.write("错误提示:文件格式不正确!" + fileextension);
return;
}
//判断文件大小
if (fileupload.contentlength > filemaxsize * 1024)
{
context.response.write("错误提示:上传的文件(" + fileupload.filename + ")超过最大限制:" + filemaxsize + "kb");
return;
}
//保存图片的文件名
//string savename = guid.newguid().tostring() + fileextension;
//使用时间+随机数重命名文件
string strdatetime = datetime.now.tostring("yymmddhhmmssfff");//取得时间字符串
random ran = new random();
string strran = convert.tostring(ran.next(100, 999));//生成三位随机数
string savename = strdatetime + strran + fileextension;
model.album uc = new model.album();
uc.title = fileupload.filename;
uc.imagepath = folder + "/" + savename;
uc.posttime = datetime.now;
uc.pid= int.parse(id);
bll.album alb = new bll.album();
alb.add(uc);
//保存图片
fileupload.saveas(path + folder + "/" + savename);
context.response.write(uploaddir + folder + "/" + savename);
}
catch
{
context.response.write("错误提示:上传失败");
}
}
}
public bool isreusable
{
get
{
return false;
}
}
#region 检测扩展名的有效性 bool checkvalidext(string sext)
/// <summary>
/// 检测扩展名的有效性
/// </summary>
/// <param name="sext">文件名扩展名</param>
/// <returns>如果扩展名有效,返回true,否则返回false.</returns>
public bool checkvalidext(string strext)
{
bool flag = false;
string[] arrext = allowext.split('|');
foreach (string filetype in arrext)
{
if (filetype.tolower() == strext.tolower().replace(".", ""))
{
flag = true;
break;
}
}
return flag;
}
#endregion
推荐阅读
-
详解jquery uploadify 上传文件_javascript技巧
-
jquery头像上传剪裁插件cropper的前后台demo
-
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
-
jquery ajaxfileupload异步上传插件
-
分享20多个很棒的jQuery 文件上传插件或教程_jquery
-
图片上传插件jquery.uploadify详解_javascript技巧
-
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
-
Jquery插件之多图片异步上传_jquery
-
jQuery插件限制上传文件大小与格式使用方法
-
SpringMVC + jquery.uploadify实现上传文件功能