<!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    :
<asp:TextBox id="w" runat="server" name="w" Width="38px"></asp:TextBox>
<br/>
Desired Height of Thumbnail     :
<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