예제 #1
0
        /// <summary>
        /// Save a value indicating whether some file (thumb) already exists
        /// </summary>
        /// <param name="thumbFileName">Thumb file name</param>
        /// <param name="binary">Picture binary</param>
        protected virtual Task SaveThumb(string thumbFileName, byte[] binary)
        {
            try
            {
                var dirThumb = _mediaFileStore.GetDirectoryInfo(_thumbPath);
                if (dirThumb == null)
                {
                    var result = _mediaFileStore.TryCreateDirectory(_thumbPath);
                    if (result)
                    {
                        dirThumb = _mediaFileStore.GetDirectoryInfo(_thumbPath);
                    }
                }

                if (dirThumb != null)
                {
                    var file = _mediaFileStore.Combine(dirThumb.PhysicalPath, thumbFileName);
                    File.WriteAllBytes(file, binary ?? Array.Empty <byte>());
                }
                else
                {
                    _logger.InsertLog(Domain.Logging.LogLevel.Error, "Directory thumb not exist.");
                }
            }
            catch (Exception ex)
            {
                _logger.InsertLog(Domain.Logging.LogLevel.Error, ex.Message);
            }
            return(Task.CompletedTask);
        }