Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }