Пример #1
0
        public static IStorageFile AddFile(Stream contentStream, string folder, string fileName)
        {
            FileStorageProvider fs   = new FileStorageProvider(SiteFiles.FileStoreKey);
            IStorageFile        file = fs.AddUpdateFile(folder, fileName, contentStream);

            return(file);
        }
        public static string MakePath(int id)
        {
            string idString = id.ToString();

            idString = new String('0', 10 - idString.Length) + idString;

            return(FileStorageProvider.MakePath(
                       idString.Substring(0, 5),
                       idString.Substring(5)
                       ));
        }
Пример #3
0
        /// <summary>
        /// 删除附件信息
        /// </summary>
        /// <param name="attachmentID"></param>
        public static void Delete(Guid attachmentID)
        {
            TemporaryAttachment temporaryAttachment = GetTemporaryAttachment(attachmentID);

            if (temporaryAttachment != null)
            {
                CommonDataProvider.Instance.DeleteTemporaryAttachment(attachmentID);
                FileStorageProvider fs = new FileStorageProvider(FileStoreKey);
                fs.Delete(MakePath(temporaryAttachment), temporaryAttachment.FileName);
            }
        }
Пример #4
0
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="picture"></param>
        /// <param name="contentStream"></param>
        /// <returns></returns>
        public static DataActionStatus Create(ShowPicture picture, Stream contentStream)
        {
            SiteSettings setting = SiteSettingsManager.GetSiteSettings();

            picture.ShowPictureID = Guid.NewGuid();
            setting.ShowPictures.Add(picture);
            SiteSettingsManager.Save(setting);

            FileStorageProvider fs = new FileStorageProvider(FileStoreKey);

            fs.AddUpdateFile("", picture.FileName, contentStream);
            return(DataActionStatus.Success);
        }
Пример #5
0
        public static void DeleteFile(string fileName)
        {
            string folder = string.Empty;
            string file   = fileName;

            if (fileName.Contains(Path.DirectorySeparatorChar.ToString()))
            {
                folder = fileName.Substring(0, fileName.LastIndexOf(Path.DirectorySeparatorChar));
                file   = fileName.Substring(fileName.LastIndexOf(Path.DirectorySeparatorChar) + 1);
            }
            FileStorageProvider fs = new FileStorageProvider(SiteFiles.FileStoreKey);

            fs.Delete(folder, file);
        }
Пример #6
0
        public static SiteFile GetFile(string folder, string fileName)
        {
            FileStorageProvider fs   = new FileStorageProvider(SiteFiles.FileStoreKey);
            IStorageFile        file = fs.GetFile(folder, fileName);

            if (file != null && !IsFileHidden(file.FileName))
            {
                return(new SiteFile(file));
            }
            else
            {
                return(null);
            }
        }
Пример #7
0
        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name="picture"></param>
        /// <param name="contentStream"></param>
        /// <returns></returns>
        public static DataActionStatus Update(ShowPicture picture, Stream contentStream)
        {
            SiteSettings setting = SiteSettingsManager.GetSiteSettings();
            int          index   = setting.ShowPictures.FindIndex(delegate(ShowPicture p)
            {
                return(p.ShowPictureID == picture.ShowPictureID);
            });

            setting.ShowPictures[index] = picture;

            SiteSettingsManager.Save(setting);

            FileStorageProvider fs = new FileStorageProvider(FileStoreKey);

            fs.AddUpdateFile("", picture.FileName, contentStream);

            return(DataActionStatus.Success);
        }
Пример #8
0
        public static void AddFile(CompanyQualification qualification, Stream contentStream)
        {
            string name = GlobalSettings.EnsureHtmlEncoded(qualification.QualificationName) + ".rar";

            qualification.QualificationFile = MakePath(qualification.CompanyID);
            //事件触发
            FileStorageProvider fs = new FileStorageProvider(FileStoreKey);

            fs.AddUpdateFile(MakePath(qualification.CompanyID), name, contentStream);



            qualification.QualificationID = CommonDataProvider.Instance.CreateQualification(qualification);

            HHCache.Instance.Remove(CacheKeyManager.GetQualificationKey(qualification.QualificationID));

            //事件触发
        }
Пример #9
0
        public static List <SiteFile> GetFiles(string folder)
        {
            List <SiteFile>     files = new List <SiteFile>();
            FileStorageProvider fs    = new FileStorageProvider(SiteFiles.FileStoreKey);

            foreach (string subFolderPath in fs.GetPaths(folder))
            {
                files.Add(new SiteFile(subFolderPath, ""));
            }

            foreach (IStorageFile file in fs.GetFiles(folder, PathSearchOption.TopLevelPathOnly))
            {
                if (!IsFileHidden(file.FileName))
                {
                    files.Add(new SiteFile(file));
                }
            }

            return(files);
        }
Пример #10
0
        public static void EditFile(CompanyQualification qualification, Stream contentStream)
        {
            string name = GlobalSettings.EnsureHtmlEncoded(qualification.QualificationName) + ".rar";

            if (contentStream == null)
            {
                IStorageFile file = FileStorageProvider.Instance(CompanyQualifications.FileStoreKey)
                                    .GetFile(CompanyQualifications.MakePath(qualification.CompanyID), GlobalSettings.EnsureHtmlEncoded(qualification.QualificationFile) + ".rar");
                contentStream = file.OpenReadStream();
            }
            //事件触发
            FileStorageProvider fs = new FileStorageProvider(FileStoreKey);

            fs.AddUpdateFile(MakePath(qualification.CompanyID), name, contentStream);

            qualification.QualificationFile = MakePath(qualification.CompanyID);
            CommonDataProvider.Instance.UpdateQualification(qualification);

            HHCache.Instance.Remove(CacheKeyManager.GetQualificationKey(qualification.QualificationID));

            //事件触发
        }
Пример #11
0
 /// <summary>
 /// 创建临时附件
 /// </summary>
 /// <param name="attachment"></param>
 public static void Create(TemporaryAttachment attachment, Stream stream)
 {
     if (GlobalSettings.IsImage(attachment.FileName))
     {
         try
         {
             ImageInfo info = new ImageInfo(stream);
             info.Check();
             attachment.Width  = info.Width;
             attachment.Height = info.Height;
         }
         catch { }
     }
     attachment.ContentType = MimeTypeManager.GetMimeType(attachment.FileName);
     attachment.ContentSize = stream.Length;
     CommonDataProvider.Instance.CreateUpdateTemporaryAttachment(attachment, DataProviderAction.Create);
     if (stream != null)
     {
         FileStorageProvider fs = new FileStorageProvider(FileStoreKey);
         fs.AddUpdateFile(MakePath(attachment), attachment.FileName, stream);
     }
 }
Пример #12
0
        public static void DeleteFolder(string folderName)
        {
            FileStorageProvider fs = new FileStorageProvider(SiteFiles.FileStoreKey);

            fs.Delete(folderName);
        }
        /// <summary>
        /// 通过Url获取IStorageFile
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static IStorageFile GetStorageFileByUrl(string url)
        {
            if (url.Contains("?"))
            {
                url = url.Substring(0, url.IndexOf("?"));
            }

            string path = url;

            int index = path.IndexOf("__key/");

            if (index < 0)
            {
                return(null);
            }

            path = path.Substring(index + 6);

            index = path.IndexOf('/');
            if (index < 0)
            {
                return(null);
            }

            string fileStoreKey = path.Substring(0, index);

            index = path.LastIndexOf('/');
            if (index < 0)
            {
                return(null);
            }

            string fileName = path.Substring(index + 1);

            if (path.Length - (fileStoreKey.Length + fileName.Length + 2) <= 0)
            {
                path = string.Empty;
            }
            else
            {
                path = path.Substring(fileStoreKey.Length + 1, path.Length - (fileStoreKey.Length + fileName.Length + 2));
            }

            fileStoreKey = GlobalSettings.UrlDecodePathComponent(fileStoreKey);
            fileName     = GlobalSettings.UrlDecodeFileComponent(fileName);
            path         = GlobalSettings.UrlDecodePathComponent(path);

            if (GlobalSettings.IsNullOrEmpty(fileStoreKey) || GlobalSettings.IsNullOrEmpty(fileName))
            {
                return(null);
            }

            FileStorageProvider fileProvider = new FileStorageProvider(fileStoreKey);

            if (fileProvider != null)
            {
                return(fileProvider.GetFile(path, fileName));
            }
            else
            {
                return(null);
            }
        }
Пример #14
0
 public string GetDownloadUrl()
 {
     return(FileStorageProvider.GetGenericDownloadUrl(this));
 }
Пример #15
0
 public static string MakePath(Guid guid)
 {
     return(FileStorageProvider.MakePath(guid.ToString().Split(new char[] { '-' })));
 }
Пример #16
0
 /// <summary>
 /// 生成路径
 /// </summary>
 /// <param name="attachment"></param>
 /// <returns></returns>
 public static string MakePath(TemporaryAttachment attachment)
 {
     return(FileStorageProvider.MakePath(new string[] { attachment.UserID.ToString(), attachment.AttachmentType.ToString() }));
 }