最近在做文件上传的功能,因为界面设计比较简单,就没有引用jq,但是网上大部分的上传插件都需要jq的支持。为了一个上传功能引用90多k的jq文件有点太小题大做了,所以就自己动手写了一个原生js上传的demo。下面是代码:
HTML代码
服务器端用的是.Net
c#代码
using System;using System.Web;namespace upFile{ ////// upFile 的摘要说明 /// public class upFile : IHttpHandler { public void ProcessRequest(HttpContext context) { string savePath = context.Request["path"]; HttpPostedFile file = context.Request.Files[0]; //文件扩展名 string fileType = System.IO.Path.GetExtension(file.FileName); //存到文件服务器的文件名称 用当前时间命名 string fileNewName = DateTime.Now.ToString("yyyyMMddHHmmss_fff") + fileType; try { file.SaveAs(savePath + fileNewName); context.Response.Write("上传成功!"); } catch (Exception ex) { context.Response.Write("上传失败!错误信息:" + ex.Message.ToString()); } } public bool IsReusable { get { return false; } } }}
说明:
根据网上相关资料,据说支持H5的浏览器才FormDate对象,具体没有进行调试。
在上传比较小的文件时,progress标签显示效果没有div标签显示准确。
在调试过程中发现chrome浏览器不支持onprogress。。。求大神指点。