//public AreaXML_Cities GetCityData(string procinceName,string cityName) //{ // return this.GetCitiesData(procinceName).FirstOrDefault(z => z.CityName == cityName); //} /// <summary> /// 更新城市的区号、邮编 /// </summary> /// <param name="cityName">城市名称</param> /// <param name="cityCode">区号</param> /// <param name="zipCode">邮编</param> /// <returns></returns> public bool UpdateCityCodeAndZipCode(string cityName, int cityCode, int zipCode) { try { //TODO:最好能应用单件模式 XElement doc = this.GetXmlElement(CITIES_XML_PATH); //获取XML文档 string xmlFilePath = SenparcHttpContext.MapPath(CITIES_XML_PATH); //路径 string backUpXmlFilePath = xmlFilePath + "." + DateTime.Now.ToString().Replace(":", "_") + ".更新区号邮编(" + cityName + ").bak"; //备份文件路径 var cityData = (from c in doc.Elements() where c.Attribute("CityName").Value == cityName select c).Single(); //备份当前数据 //File.Copy(xmlFilePath, backUpXmlFilePath); cityData.Save(backUpXmlFilePath); //备份单条信息 cityData.SetAttributeValue("CityCode", cityCode.ToString()); //更新区号 cityData.SetAttributeValue("ZipCode", zipCode.ToString()); //更新邮编 //保存 doc.Save(xmlFilePath); //更新缓存 AreaDataCache_City areaData = new AreaDataCache_City(); areaData.Data.Clear(); //清空 GetCitiesData(); //使用调用,更新缓存 return(true); } catch { return(false); } }
public static string GetWebMapPath(string virtualPath) { if (virtualPath == null) { return(""); } return(SenparcHttpContext.MapWebPath(virtualPath)); }
/// <summary> /// 获取缩略图信息,返回缩略图物理路径和源文件物理路径 /// </summary> /// <param name="uploadResult">通过UploadFile()方法返回的结果(如果上传成功,返回相对网站根目录路径)</param> /// <param name="fileFormat">缩略文件格式(在Config.UpLoadFileFormat中)</param> /// <param name="filePhyicalPath">源文件物理路径</param> /// <returns></returns> private static string GetTumbnailFileName(string uploadResult, string fileFormat, out string filePhyicalPath) { string fileApplicationPath = GetVirtualPathFormFullApplicationPath(uploadResult); //还原ApplicationPath filePhyicalPath = SenparcHttpContext.MapPath(fileApplicationPath); //源文件物理路经 string thumbnailFilename = Path.GetDirectoryName(filePhyicalPath) //和原始图片放于同一文件夹 + "/" + string.Format(fileFormat, Path.GetFileName(uploadResult), Path.GetExtension(uploadResult)); //原文件名+标记+原扩展名 return(thumbnailFilename); }
/// <summary> /// 私有方法,上传文件,防止外部调用 /// </summary> /// <param name="savePathStr"></param> /// <param name="file">HttpPostedFileBase</param> /// <param name="fileNameOnServer">保存文件名(不包含扩展名)</param> /// <param name="limit">限制大小(KB)</param> /// <param name="isDel">是否删除已存在</param> /// <returns></returns> private static string UploadFile(string savePathStr, string fileNameOnServer, IFormFile file, long limit, bool isDel, string[] allowedExtension = null) { //上传 ——by TNT2; string saveFileName = string.Empty;//服务器上地址,如果成功,返回正确地址 string fileExtension = System.IO.Path.GetExtension(file.FileName).ToLower(); if (allowedExtension != null && !allowedExtension.Contains(fileExtension)) { return($"为确保系统安全,此文件类型({fileExtension})被禁止上传,如确实需要上传,请联系客服。"); } //调用SaveAs方法,实现上传,并显示相关信息 ——by TNT2 //总限制大小 220M ——by TNT2 if (file.Length < limit * 1024) { //实现上传 ——by TNT2 //获取给予运用程序根文件夹的绝对路径 ——by TNT2 saveFileName = fileNameOnServer + Path.GetExtension(file.FileName).ToLower(); //保存文件名 string savePhyicalPath = SenparcHttpContext.MapPath(savePathStr); string savePhyicalFilePath = Path.Combine(savePhyicalPath, saveFileName); //服务器上的保存物理路径 string saveApplicationPath = Path.Combine(GetFullApplicationPathFromVirtualPath(savePathStr), saveFileName); //文件的网站绝对地址 //保存文件 if (isDel && File.Exists(savePhyicalFilePath)) { File.Delete(savePhyicalFilePath);//先删除 } if (!Directory.Exists(savePhyicalPath)) { Directory.CreateDirectory(savePhyicalPath); } using (var reader = new FileStream(savePhyicalFilePath, FileMode.OpenOrCreate)) { file.CopyTo(reader); reader.Flush(); } //返回图片的网站绝对地址 return(saveApplicationPath); } else { return("只能上传" + limit + "KB以内的文件!此文件大小:" + file.Length / 1024 + " KB"); } //return saveFileName; }
private XElement GetXmlElement(string xmlApplicationPath) { return(XElement.Load(SenparcHttpContext.MapPath(xmlApplicationPath))); }