/// <summary> /// 删除文件或目录 /// </summary> /// <param name="filePath">文件或目录,可以为虚拟路径或绝对路径</param> /// <param name="isDir">是否目录</param> public static void DeletePath(string filePath, bool isDir) { if (filePath == null) { return; } if (string.IsNullOrEmpty(filePath.Trim())) { return; } string file = StringPlus.MapPath(filePath); if (isDir) { if (Directory.Exists(file)) { Directory.Delete(file, true); return; } } else { if (File.Exists(file)) { File.Delete(file); } } }
/// <summary> /// 获取上传文件随机文件名,返回绝对路径地址 /// </summary> /// <param name="saveVirtualDir"></param> /// <param name="extName">扩展名【请包含 . 】</param> /// <param name="virtualPathName">虚路径名(包括文件名称)【/upload/..../filename.ext】</param> /// <param name="fileName">文件名带扩展名</param> /// <returns></returns> public static string GetUploadRandFileName(string saveVirtualDir, string extName, out string virtualPathName, out string fileName) { fileName = FileHelper.GetRandFileName() + extName; virtualPathName = saveVirtualDir + fileName; string dir = StringPlus.MapPath(virtualPathName); FileHelper.CreateDirectory(dir); return(dir); }
/// <summary> /// 获取全路径中的文件名,如存在用“_”+数字改名,返回绝对路径, 路径中的目录不存在自动创建目录 /// </summary> /// <param name="fileFullName">文件全路径</param> /// <returns></returns> public static string ChangeFileName(string fileFullName) { string tmpName = StringPlus.MapPath(fileFullName); string filename = Path.GetFileNameWithoutExtension(tmpName); string ext = Path.GetExtension(tmpName); string path = tmpName.Substring(0, tmpName.LastIndexOf("\\")); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } int i = Directory.GetFiles(path, filename + "*", System.IO.SearchOption.TopDirectoryOnly).Length; while (File.Exists(tmpName)) { i++; tmpName = path + "\\" + filename + "_" + (i + 1).ToString() + ext; } return(tmpName); }