public static FileItem SaveFile(ref Stream stream, string fileName, string folderKey) { FileItem fitem = null; FileFolder folder = FileFolderRule.GetFolderByKey(folderKey); // 若路径不存在则新建路径 if (!Directory.Exists(folder.FolderPath)) { Directory.CreateDirectory(folder.FolderPath); } FileInfo fileInfo = new FileInfo(Path.Combine(folder.FolderPath, fileName)); using (FileStream fs = fileInfo.OpenWrite()) { stream.Position = 0; byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) != 0) { fs.Write(buffer, 0, bytesRead); } } fitem = CreateFileItem(fileInfo, folder); return(fitem); }
/// <summary> /// 由文件名和文件夹Key创建新的FileItem /// </summary> /// <param name="fileName"></param> /// <param name="folderKey"></param> /// <returns></returns> public static FileItem GetNewFileItem(string filePath, string folderKey) { FileInfo fileInfo = new FileInfo(filePath); FileFolder folder = FileFolderRule.GetFolderByKey(folderKey); FileItem fitem = GetNewFileItem(fileInfo, folder); return(fitem); }
public static void MoveFile(FileItem fitem, string folderKey) { FileFolder folder = FileFolderRule.GetFolderByKey(folderKey); // 若路径不存在则新建路径 if (!Directory.Exists(folder.FolderPath)) { Directory.CreateDirectory(folder.FolderPath); } File.Move(fitem.FilePath, Path.Combine(folder.FolderPath, GetFullID(fitem.Id, fitem.Name))); fitem.Path = String.Format(@"{0}", folder.Path, folder.Name); fitem.FolderId = folder.Id; fitem.ModuleId = folder.ModuleId; fitem.FullId = String.Format("{0}.{1}", folder.FullId, fitem.Id); fitem.Update(); }
public static FileItem CopyFile(FileItem fitem, string folderKey) { FileItem newfitem = null; FileFolder folder = FileFolderRule.GetFolderByKey(folderKey); // 若路径不存在则新建路径 if (!Directory.Exists(folder.FolderPath)) { Directory.CreateDirectory(folder.FolderPath); } FileInfo fileInfo = new FileInfo(fitem.FilePath); newfitem = CreateFileItem(fileInfo, folder); File.Copy(fitem.FilePath, Path.Combine(folder.FolderPath, GetFullID(newfitem.Id, newfitem.Name))); return(newfitem); }
public static string MoveFile(string srcFilePath, string folderKey) { string filefullid = String.Empty; FileFolder folder = FileFolderRule.GetFolderByKey(folderKey); // 若路径不存在则新建路径 if (!Directory.Exists(folder.FolderPath)) { Directory.CreateDirectory(folder.FolderPath); } FileInfo fi = new FileInfo(srcFilePath); FileItem fitem = CreateFileItem(fi, folder); filefullid = GetFullID(fitem.Id, fitem.Name); File.Move(srcFilePath, Path.Combine(folder.FolderPath, filefullid)); return(filefullid); }