Contact Form

Name

Email *

Message *

Upload & save generated thumbnail ASP.net

No comments



<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="slider.aspx.cs" Inherits="slider.slider" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
     <form id="Form1"  runat="server">
        <h4>Upload & save generated thumbnail
        </h4>
        Select File To Upload to Server:
        <input id="MyFile" type="file" runat="server" />
        <br/>
        Desired Width of Thumbnail&nbsp;&nbsp;&nbsp;&nbsp&nbsp;&nbsp:
        <asp:TextBox id="w" runat="server" name="w" Width="38px"></asp:TextBox>
        <br/>
Desired Height of Thumbnail&nbsp;&nbsp&nbsp;&nbsp&nbsp;:
        <asp:TextBox id="h" runat="server" name="h" Width="38px"></asp:TextBox>
        <br/>
         <asp:Button ID="Submit1" runat="server" Text="Upload!" onclick="Submit1_Click"  />
     
        <br/>
        <br/>
        <hr/>
        <div id="FileDetails" runat="server" visible="false">FileName: <span id="FileName" runat="server"></span><br/>
        ContentType: <span id="MyContentType" runat="server"></span><br/>
        ContentLength: <span id="ContentLength" runat="server">bytes
            </span><br/><br/>
        Original Image : <asp:Image id="Image1" runat="server"></asp:Image></br>
Resized  Image : <asp:Image id="Image2" runat="server"></asp:Image>
        </div>
    </form>
</body>
</html>


Upload & save generated thumbnail


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing.Imaging;

namespace slider
{
    public partial class slider : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

 

        //this function is reqd for thumbnail creation
        public bool ThumbnailCallback()
        {
            return false;
        }

        protected void Submit1_Click(object sender, EventArgs e)
        {

            String UploadedFile = MyFile.PostedFile.FileName;
            int ExtractPos = UploadedFile.LastIndexOf("\\") + 1;

            //to retrieve only Filename from the complete path
            String UploadedFileName = UploadedFile.Substring(ExtractPos, UploadedFile.Length - ExtractPos);


            // Display information about posted file. Div is invisible by default
            FileName.InnerHtml = UploadedFileName;
            MyContentType.InnerHtml = MyFile.PostedFile.ContentType;
            ContentLength.InnerHtml = MyFile.PostedFile.ContentLength.ToString();

            FileDetails.Visible = true; //div is made visible
            // Save uploaded file to server at the in the Pics folder
            MyFile.PostedFile.SaveAs(Request.PhysicalApplicationPath + "pics\\" + UploadedFileName);

            //thumbnail creation starts
            try
            {
                //Read in the image filename whose thumbnail has to be created
                String imageUrl = UploadedFileName;

                //Read in the width and height
                int imageHeight = Convert.ToInt32(h.Text);
                int imageWidth = Convert.ToInt32(w.Text);

                //You may even specify a standard thumbnail size
                //int imageWidth  = 70;
                //int imageHeight = 70;

                if (imageUrl.IndexOf("/") >= 0 || imageUrl.IndexOf("\\") >= 0)
                {
                    //We found a / or \
                    Response.End();
                }

                //the uploaded image will be stored in the Pics folder.
                //to get resize the image, the original image has to be accessed from the
                //Pics folder
                imageUrl = "pics/" + imageUrl;

                System.Drawing.Image fullSizeImg = System.Drawing.Image.FromFile(Server.MapPath(imageUrl));

                System.Drawing.Image.GetThumbnailImageAbort dummyCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

                System.Drawing.Image thumbNailImg = fullSizeImg.GetThumbnailImage(imageWidth, imageHeight, dummyCallBack, IntPtr.Zero);

                //We need to create a unique filename for each generated image
                DateTime MyDate = DateTime.Now;

                String MyString = MyDate.ToString("ddMMyyhhmmss") + ".png";

                //Save the thumbnail in Png format. You may change it to a diff format with the ImageFormat property
                thumbNailImg.Save(Request.PhysicalApplicationPath + "pics\\" + MyString, ImageFormat.Png);

                thumbNailImg.Dispose();

                //Display the original & the newly generated thumbnail
                Image1.AlternateText = "Original image";
                Image1.ImageUrl = "pics\\" + UploadedFileName;

                Image2.AlternateText = "Thumbnail";
                Image2.ImageUrl = "pics\\" + MyString;
            }

            catch (Exception ex)
            {
                Response.Write("An error occurred - " + ex.ToString());
            }

        }

    }
}

No comments :

Post a Comment