/// <summary>
        /// Maps data from the media file edit form to the media file object.
        /// </summary>
        /// <param name="request"></param>
        /// <param name="file"></param>
        /// <returns></returns>
        public static void MapFile(HttpRequestBase request, string fieldSuffix, MediaFile file)
        {
            HttpPostedFileBase hpf = request.Files["file" + fieldSuffix];
            string externalfilename = request.Params["externalfile" + fieldSuffix];
            string filename = hpf.ContentLength == 0 ? externalfilename : hpf.FileName;
            file.Title = request.Params["title" + fieldSuffix];
            file.Description = request.Params["description" + fieldSuffix];
            file.SortIndex = ComLib.Extensions.NameValueExtensions.GetOrDefault<int>(request.Params, "SortIndex", file.SortIndex);
            file.IsPublic = true;
            if (file.LastWriteTime == DateTime.MinValue)
                file.LastWriteTime = DateTime.Now;

            // No Content?
            if (hpf.ContentLength == 0 && string.IsNullOrEmpty(externalfilename))
                return;

            // Get the file as a byte[]
            if (hpf.ContentLength > 0)
                file.Contents = ComLib.Web.WebUtils.GetContentOfFileAsBytes(hpf);

            // This will autoset the Name and Extension properties.
            file.FullNameRaw = filename;
            file.Length = hpf.ContentLength;
            
            // Set up the thumbnail.
            if (!file.IsExternalFile && file.IsImage)
                file.ToThumbNail(processLocalFileSystemFile: true);
        }
Ejemplo n.º 2
0
        public void CanCreateThumbNailFromMainImage()
        {
            var mediafile = new MediaFile();
            mediafile.Contents = new byte[] { };
            mediafile.FullNameRaw = "my_user_profile.jpg";
            mediafile.Id = 1234;
            mediafile.ToThumbNail();

            // Confirm that the original file is still valid.
            Assert.IsFalse(mediafile.IsExternalFile);
            Assert.AreEqual(mediafile.FullName, "my_user_profile.jpg");
            Assert.AreEqual(mediafile.Name, "my_user_profile.jpg");
            Assert.AreEqual(mediafile.Extension, ".jpg");
            Assert.IsTrue(mediafile.IsImage);
            Assert.AreEqual(mediafile.AbsoluteUrl, "/media/1234/my_user_profile.jpg");
            Assert.IsTrue(mediafile.HasThumbnail);
            Assert.AreEqual(mediafile.AbsoluteUrlThumbnail, "/media/1234/thumbnail.jpg");
        }