关于remoting上传文件并根据不同的用户创建不同的文件夹来存放文件

  public string Save(string groupName, string fileName, bool replace, string contentType, byte[] buffer,string name)
        {
            FilesManagerConfiguration fmgConfig = GetConfig();
            if (!Directory.Exists(fmgConfig.UploadPath))
            {
                return null;
            }
            if (!fmgConfig.GroupTable.Contains(groupName))
            {
                return null;
            }
            FilesGroupConfiguration fileGroup = fmgConfig.GroupTable[groupName];
            string uploadFolder = Path.Combine(fmgConfig.UploadPath, fileGroup.Folder);
            //组类别目录
            if (!Directory.Exists(uploadFolder))
            {
                Directory.CreateDirectory(uploadFolder);
            }
            string fileExt = Path.GetExtension(fileName);
            if (!fileGroup.MimeTable.Contains(fileExt.ToLower()))
            {
                return null;
            }
            MimeFolderData mimeFolderData = fileGroup.MimeTable[fileExt.ToLower()];
           // string curFolder = Path.Combine(uploadFolder, mimeFolderData.Folder);
            

            string curFolder = Path.Combine(uploadFolder,name);
            if (!Directory.Exists(curFolder))
            {
                Directory.CreateDirectory(curFolder);
            }
            string lastFileName = fileName;
            string fileSaveFullName = Path.Combine(curFolder, fileName);
            if (File.Exists(fileSaveFullName) && !replace)
            {
                lastFileName = string.Format("{0}.{1}", Path.GetRandomFileName(), fileName);
                fileSaveFullName = Path.Combine(curFolder, lastFileName);
            }
            using (FileStream fileStream = new FileStream(fileSaveFullName, FileMode.Create))
            {
                fileStream.Write(buffer, 0, buffer.Length);
            }
            string urlPath = fmgConfig.PublishPath;
            if (!urlPath.EndsWith("/"))
                urlPath += "/";
            return string.Format(@"{0}{1}/{2}/{3}/{4}", urlPath, groupName, mimeFolderData.Folder, lastFileName,"zz");
           
        }

posted @ 2012-04-24 17:36  朱_占_军  阅读(219)  评论(0编辑  收藏  举报