Beispiel #1
0
        /// <summary>
        /// Anybody downloads a file.
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public ActionResult Download(string fileName, int maxWidth = 0, int maxHeight = 0)
        {
            if (fileName == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (maxWidth != 0 || maxHeight != 0)
            {
                // Returns thumbnail.
                var bitmap = BlobHelper.DownloadAsBitmap("mediafile", fileName, maxWidth, maxHeight);
                if (bitmap == null)
                {
                    return(HttpNotFound());
                }
                using (var mem = new MemoryStream())
                {
                    bitmap.Save(mem, ImageFormat.Jpeg);
                    return(File(mem.ToArray(), "image/jpeg"));
                }
            }
            else
            {
                // Returns raw file.
                var blob = BlobHelper.Download("mediafile", fileName);
                if (blob == null)
                {
                    return(HttpNotFound());
                }
                return(File(blob.Item1, blob.Item2));
            }
        }