コード例 #1
0
ファイル: MvcApplication.cs プロジェクト: tm011064/Luputa
        private bool TrySaveProfileImage(SystemProfileImage systemProfileImage, IApplicationThemeInfo applicationThemeInfo
                                         , string folder, Size size)
        {
            if (!Directory.Exists(applicationThemeInfo.Images.DefaultThemeImageFolderServerPath + folder))
            {
                try
                {
                    Directory.CreateDirectory(applicationThemeInfo.Images.DefaultThemeImageFolderServerPath + folder);
                }
                catch (Exception err)
                {
                    _Log.Error("Unable to create directory " + applicationThemeInfo.Images.DefaultThemeImageFolderServerPath + folder + ". See inner exception for further details", err);
                    return(false);
                }
            }
            using (MemoryStream ms = new MemoryStream(systemProfileImage.Content))
            {
                ms.Position = 0;
                Image image = Image.FromStream(ms);

                if (image.Width != size.Width ||
                    image.Height != size.Height)
                {
                    image = ImageHelper.Resize(image, size);
                }

                try
                {
                    image.Save(applicationThemeInfo.Images.DefaultThemeImageFolderServerPath
                               + folder + MagicStrings.FILE_PROFILEIMAGE_PREFIX + systemProfileImage.ImageId
                               + ".png"
                               , ImageFormat.Png);
                }
                catch (Exception err)
                {
                    _Log.Error("Unable to save write profile image to disk. See inner exception for further details", err);
                    return(false);
                }
            }

            return(true);
        }
コード例 #2
0
ファイル: MvcApplication.cs プロジェクト: tm011064/Luputa
        private bool TryCreateSystemProfileImage(IThemeFolderLookup themeFolderLookup, IApplicationThemeInfo applicationThemeInfo
                                                 , string imageFilePath, string fileName)
        {
            SystemProfileImage systemProfileImage = new SystemProfileImage(applicationThemeInfo.ApplicationId);

            Image image = Image.FromFile(imageFilePath);

            systemProfileImage.Content          = File.ReadAllBytes(imageFilePath);
            systemProfileImage.ContentSize      = systemProfileImage.Content.Length;
            systemProfileImage.ContentType      = ImageHelper.GetMimeType(fileName);
            systemProfileImage.FriendlyFileName = fileName;
            systemProfileImage.Height           = image.Height;
            systemProfileImage.Width            = image.Width;
            systemProfileImage.IsTemporary      = false;

            var report = InstanceContainer.SystemProfileImageManager.Create(systemProfileImage);

            switch (report.Status)
            {
            case DataRepositoryActionStatus.Success:
            case DataRepositoryActionStatus.UniqueKeyConstraint:
                return(true);

            default:
                _Log.ErrorFormat("Unble to create system profile image for application {0} (ID: {1}) from file {2}"
                                 , applicationThemeInfo.ApplicationName
                                 , applicationThemeInfo.ApplicationId
                                 , imageFilePath);
                return(false);
            }
        }