文件的上传、下载及删除方法
2012-12-05 09:21
399 查看
#region 文件的上传、下载及删除 //文件的上传方法 if (fdAppImages.HasFile) { /***重命名文件,防止重复***/ string fn = Guid.NewGuid().ToString() + fdAppImages.FileName.Substring(fdAppImages.FileName.LastIndexOf(".")); // string fn = System.IO.Path.GetFileName(fdAppImages.PostedFile.FileName); int index = fn.LastIndexOf("."); string lastName = fn.Substring(index, fn.Length - index); if (lastName != ".jpg" && lastName != ".gif" && lastName != ".png") { Alert("只能上传jpg|gif|png的图片文件!"); return; } /***获取文件存放的虚拟路径***/ string imageUploadUrl = ConfigurationManager.AppSettings["PreviewImages"].ToString(); /***获取文件存放的物理路径***/ string imageUploadPath = Server.MapPath(imageUploadUrl); string imageUrl = imageUploadUrl + "/" + fn; /***判断文件是否已存在***/ if (!File.Exists(imageUploadPath)) { Directory.CreateDirectory(imageUploadPath); } imageUploadPath = Server.MapPath(imageUploadUrl) + "\\" + fn; /***将上载的文件内容保存到web服务器指定的路径***/ this.fdAppImages.SaveAs(imageUploadPath); } //删除文件方法(存放文件对应的物理路径) string path = string.Empty; FileInfo fi = null; string[] arr = strStr.ToString().Split(','); foreach (string item in arr) { path = Page.Server.MapPath(item); fi = new FileInfo(path); /***判断文件是否已存在***/ if (fi.Exists) { fi.Delete(); } } //文件的下载方法 protected void dataRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) { HyperLink hlDownLoad = e.Item.FindControl("hlDownLoad") as HyperLink; if (string.IsNullOrEmpty((e.Item.DataItem as DataRowView)["ApkUrl"].ToString())) { hlDownLoad.Visible = false; } else { hlDownLoad.NavigateUrl = GetWebSourcePath((e.Item.DataItem as DataRowView)["ApkUrl"].ToString()); } } /// <summary> /// 获取资源相对路径对应的网络绝对地址 /// </summary> /// <param name="url">资源的相对路径</param> /// <returns>网络绝对地址</returns> protected string GetWebSourcePath(string url) { return GetSiteRootURL() + url.Replace("~", ""); } /// <summary> /// 取得网站的根目录的URL,包括虚拟目录 /// </summary> /// <returns>如:https://www.189.cn/web </returns> protected string GetSiteRootURL() { string siteRootUrl = string.Empty; HttpContext httpCurrent = HttpContext.Current; HttpRequest httpRe; if (httpCurrent != null) { httpRe = httpCurrent.Request; string urlAuthority = httpRe.Url.GetLeftPart(UriPartial.Authority); if (httpRe.ApplicationPath == null || httpRe.ApplicationPath == "/")//如果是在web站点 { siteRootUrl = urlAuthority; } else//如果是在web站点的虚拟子目录下 { siteRootUrl = urlAuthority + httpRe.ApplicationPath; } } return siteRootUrl; } #endregion
相关文章推荐
- Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法
- Spring MVC 中文件上传/删除 删除空文件夹方法 + 下载方法
- FTP连接,上传,下载,删除文件方法
- java mongodb 文件上传,下载,删除方法
- ASP.NET中文件上传下载方法集合
- ASP.NET中常用的文件上传下载方法 (转)
- (转)ASP.NET中常用的文件上传下载方法
- 文件的上传下载和删除
- silverlight webclient实现上传、下载、删除、读取文件
- Java Spring MVC 上传下载文件配置及controller方法详解
- ASP.NET中文件上传下载方法集合(转)
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等 收藏
- Java实现FTP服务器的上传、下载、删除、查看文件列表
- 基于SpringMVC的文件(增删改查)上传、下载、更新、删除
- JDK1.7以上javaFTP上传删除文件的实现方法
- 调用JAVA API 对 HDFS 进行文件的读取、写入、上传、下载、删除等操作
- ASP.NET中文件上传下载方法集合[转]
- Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等
- Struts2 文件上传,下载,删除(四十一)