近来因为要做一个上传功能,而firefox又不能直接使用file这样的标签,所以试着用js来写了一个,结果发现代码太多,验证太复杂,而且效果也不理想。
相对的,jquery提供的这一套uploadify则相当好用,但是官方只提供了php版本的,表示有点遗憾,可是没关系,c#同样可以使用。下面写一个小的Demo,也是担心自己会忘记,在这做一个记录吧
首先下载 uploadify3.1
我们先写个html页面
ok,页面完成之后,下面就是前奏了,我们需要导入相应的js和css样式,以及uploadify各参数的定义了,下面我们就来完成js的页面
1 2 3 4
这里完成之后,我们就只差最后一步了,就是后台业务的处理,asp.net一般结合handler来使用,所以我们先创建一个uploadhandler.ashx文件
1 context.Response.ContentType = "text/plain"; 2 context.Response.Write("Hello World"); 3 HttpPostedFile file = context.Request.Files["Filedata"]; 4 //获取保存路径 5 string uploadPath = 6 HttpContext.Current.Server.MapPath("UploadImages" + "\\"); 7 //判断文件是否为空 8 if (file != null) 9 {10 if (!Directory.Exists(uploadPath))11 {12 Directory.CreateDirectory(uploadPath);13 }14 //Save File15 file.SaveAs(uploadPath + file.FileName);16 //这里的返回值比较重要,1表示正确,0则是失败,成功后,会继续上传下一个文件17 context.Response.Write("1");18 }19 else {20 context.Response.Write("0");21 }
说到这,功能便已经完成了,我发下我的文件结构图
好,暂时就这些了,也是刚刚接触这个,其他的还在研究中