文件的上传、下载及删除方法

#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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值