public void FileName()
        {
            var expected = Guid.NewGuid().ToString();
            var data = new ImageEntity()
            {
                FileName = expected
            };

            Assert.AreEqual(expected, data.FileName);
        }
        public void RelativePath()
        {
            var expected = Guid.NewGuid().ToString();
            var data = new ImageEntity()
            {
                RelativePath = expected
            };

            Assert.AreEqual(expected, data.RelativePath);
        }
        public void ContentType()
        {
            var expected = Guid.NewGuid().ToString();
            var data = new ImageEntity()
            {
                MimeType = expected
            };

            Assert.AreEqual(expected, data.MimeType);
        }
        public void Width()
        {
            var random = new Random();
            var expected = (ushort)random.Next(0, ushort.MaxValue);

            var data = new ImageEntity()
            {
                Width = expected
            };

            Assert.AreEqual(expected, data.Width);
        }
        public void FileSize()
        {
            var random = new Random();
            var expected = (uint)random.Next(0, int.MaxValue);

            var data = new ImageEntity()
            {
                FileSize = expected
            };

            Assert.AreEqual(expected, data.FileSize);
        }
        public void Quality()
        {
            var random = new Random();
            var expected = (byte)random.Next(byte.MinValue, byte.MaxValue);

            var data = new ImageEntity()
            {
                Quality = expected
            };

            Assert.AreEqual(expected, data.Quality);
        }
        public void Height()
        {
            var random = new Random();
            var expected = (ushort)random.Next(ushort.MinValue, ushort.MaxValue);

            var data = new ImageEntity()
            {
                Height = expected
            };

            Assert.AreEqual(expected, data.Height);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Save
        /// </summary>
        /// <param name="fileName">File Name</param>
        /// <param name="content">Content</param>
        /// <param name="version">Version</param>
        /// <param name="mimeType">Mime Type</param>
        /// <param name="identifier">Identifier</param>
        /// <param name="queueForResize">Queue For Resize</param>
        /// <param name="extension">Extension</param>
        /// <param name="quality">Quality</param>
        /// <param name="width">Width</param>
        /// <param name="height">Height</param>
        /// <returns>Relative Path</returns>
        public virtual async Task<string> Save(string fileName, byte[] content, string version, string mimeType, Guid identifier, bool queueForResize = false, string extension = null
            , byte quality = Imaging.DefaultImageQuality, ushort width = 0, ushort height = 0)
        {
            fileName = fileName.ToLowerInvariant();
            version = version.ToLowerInvariant();
            mimeType = mimeType.ToLowerInvariant();

            //Store in Blob
            await this.container.Save(fileName, content, mimeType);
            await this.container.SetCacheControl(fileName, this.cacheControlDuration);

            if (0 >= width || 0 >= height)
            {
                var size = this.imaging.Size(content);
                width = (ushort)size.Width;
                height = (ushort)size.Height;
            }

            var ie = new ImageEntity
            {
                PartitionKey = identifier.ToString(),
                RowKey = version,
                FileName = fileName,
                MimeType = mimeType,
                FileSize = (uint)content.LongLength,
                Width = width,
                Height = height,
                Quality = quality,
                RelativePath = this.naming.RelativePath(container.Name, fileName),
            };

            await this.table.InsertOrReplace(ie);
            
            if (queueForResize)
            {
                await this.queue.Save(new ImageQueued
                {
                    Identifier = identifier,
                    FileNameFormat = this.naming.FileNamePartial(identifier),
                    OriginalExtension = extension,
                });
            }

            return ie.RelativePath;
        }