首页 > 代码库 > ASP.NET 上传文件以及点击下载
ASP.NET 上传文件以及点击下载
需求说明:
实际项目中,有必要上传附件(包括图片、文档、解压文件等)对数据库数据完善,这里实现的功能就是,上传附件到数据库,然后从数据读出来之后,可以“点击下载”之前上传的附件内容。
asp.net代码如下:
//用FileUpload控件,上传附件之后,导入数据库操作 protected void btnUp_Click(object sender, EventArgs e) { DbSql db = new DbSql(); //数据操作类 string fileName = ""; string fielurl = ""; if (filePhoto.HasFile) { fileName = filePhoto.FileName; if (!ValidateFileType(fileName)) //上传文件类型判断 { Response.Write("<script>alert('不支持文件!')</script>"); return; } fileName = fileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_"); fileName = DateTime.Now.Ticks.ToString() + "_" + fileName; filePhoto.SaveAs(Server.MapPath("~/upload/" + fileName)); string strr = "~/upload/" + fileName + ""; fielurl = "<a href=http://www.mamicode.com/MidDownFile.aspx?fileUrl=" + Server.UrlEncode(strr) + ">点击下载";//用MidDownFile页面,处理对上传文件的下载>下面是判断上传文件类型的一个使用方法#region 上传文件类型判断 protected readonly static List<string> VALID_FILE_TYPES = new List<string> { "jpg", "bmp", "gif", "jpeg", "png", "rar", "txt", "doc", "docx" }; protected static bool ValidateFileType(string fileName) { string fileType = String.Empty; int lastDotIndex = fileName.LastIndexOf("."); if (lastDotIndex >= 0) { fileType = fileName.Substring(lastDotIndex + 1).ToLower(); } if (VALID_FILE_TYPES.Contains(fileType)) { return true; } else { return false; } } #endregion接下来是MidDownFile.aspx页面处理对上传文件的下载protected void Page_Load(object sender, EventArgs e) { string fileName = Server.UrlDecode(Request.QueryString["fileUrl"]); WriteF(fileName); } public void WriteF(string fileName) { if (System.IO.File.Exists(Server.MapPath(fileName))) { Response.ContentType = "application/x-zip-compressed"; Response.AddHeader("Content-Disposition", "attachment;filename=" + System.IO.Path.GetFileName(fileName) + ""); string filename = Server.MapPath(fileName); Response.TransmitFile(filename); } else { Response.Write("文件不存在!"); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。