|
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Script.Services;
using System.Web.Services;
using MyControls.Web;
public partial class CrossPostBack_GallerySavePage : System.Web.UI.Page
{
private MyControls.Web.AjaxUploadGalleryExtender AjaxUploadGalleryExtender1;
protected void Page_Load(object sender, EventArgs e)
{
if (this.PreviousPage != null)
{
AjaxUploadGalleryExtender1 = (MyControls.Web.AjaxUploadGalleryExtender)this.PreviousPage.Master.FindControl("ContentPlaceHolder1").FindControl("AjaxUploadGalleryExtender1");
Control postbackcontrol = MyControls.Web.Util.GetPostBackControl(this.Request, this.PreviousPage);
string eventArgument = MyControls.Web.Util.GetPostBackArgment(this.Request);
if (postbackcontrol == AjaxUploadGalleryExtender1)
{
switch (eventArgument[0])
{
case 'P':
AjaxUploadFileEventArgs evt = new AjaxUploadFileEventArgs();
evt.FileIndex = int.Parse(eventArgument.Remove(0, 2));
evt.File = AjaxUploadGalleryExtender1.NewUplaodFile(Request.Files[AjaxUploadGalleryExtender1.UniqueID + "$file" + evt.FileIndex]);
AjaxUploadGalleryExtender1_Preview(AjaxUploadGalleryExtender1, evt);
break;
case 'S':
AjaxUploadGalleryExtender1_Submit(AjaxUploadGalleryExtender1, EventArgs.Empty);
break;
}
}
}
}
[WebMethod(EnableSession = true), ScriptMethod]
public static MyControls.Web.ProgressInfo GetProgressValue(string contextKey)
{
MyControls.Web.ProgressInfo info = MyControls.Web.AjaxUploadExtender.GetUploadInfo(contextKey);
return info;
}
protected void AjaxUploadGalleryExtender1_Submit(object sender, EventArgs e)
{
int submitResult = 0;
int galleryID = int.Parse(AjaxUploadGalleryExtender1.GetValue("gId"));
string gallaryName = AjaxUploadGalleryExtender1.GetValue("name");
string PictureName = "";
try
{
string[] ImageNames = new string[AjaxUploadGalleryExtender1.Files.Count];
for(int i = 0; i < AjaxUploadGalleryExtender1.Files.Count; i++)
{
MyControls.Web.AjaxUploadFile file = AjaxUploadGalleryExtender1.Files[i];
string Title = file.GetValue("title");
if(file.HasFile)
ImageNames[i] = SaveImage(file);
}
try
{
if (galleryID == -1)
galleryID = AddNewGallery(gallaryName,ImageNames);
else
UpdateGallery(galleryID, gallaryName, ImageNames);
}
catch (Exception)
{
submitResult = 2;
}
}
catch (Exception)
{
submitResult = 1;
}
Response.ClearContent();
Response.ContentType = "text/plain";
string responsevalue = string.Empty;
responsevalue = string.Format("{{\"submitResult\":{0},\"galleryID\":{1}}}", submitResult, galleryID);
Response.Write(responsevalue);
Response.End();
}
private void UpdateGallery(int galleryID, string gallaryName, string[] ImageNames)
{
if (AjaxUploadGalleryExtender1.GetValue("except") == "data")
throw new Exception();
// call the database.
for (int i = 0; i <= 100; i++)
{
MyControls.Web.ProgressInfo prog = AjaxUploadGalleryExtender1.ProgressInfo;
prog.Message = string.Format("Updating Gallery no. {0}.. ", galleryID);
prog.Value = i;
System.Threading.Thread.Sleep(20);
}
}
private int AddNewGallery(string gallaryName, string[] ImageNames)
{
if (AjaxUploadGalleryExtender1.GetValue("except") == "data")
throw new Exception();
// call the database.
for (int i = 0; i <= 100; i++)
{
MyControls.Web.ProgressInfo prog = AjaxUploadGalleryExtender1.ProgressInfo;
prog.Message = "Adding new Gallery.. ";
prog.Value = i;
System.Threading.Thread.Sleep(20);
}
Random random = new Random();
int galleryID = random.Next(1, 100);
return galleryID;
}
private string SaveImage(AjaxUploadFile file)
{
string filename = System.IO.Path.GetFileNameWithoutExtension(file.FileName);
string extention = System.IO.Path.GetExtension(file.FileName);
int index = 0;
string savename = filename + extention;
while (System.IO.File.Exists(Server.MapPath("~/UploadedImages/") + savename))
{
savename = string.Format("{0} ({1}){2}", filename, index, extention);
index++;
}
file.SaveAs(Server.MapPath("~/UploadedImages/") + savename);
return savename;
}
protected void AjaxUploadGalleryExtender1_Preview(object sender, MyControls.Web.AjaxUploadFileEventArgs e)
{
if (e.File.HasFile)
{
HttpPostedFile userPostedFile = e.File.PostedFile;
ContentType = userPostedFile.ContentType;
if (ContentType.StartsWith("image"))
{
int framewidth = 240;
int frameheight = 180;
System.Drawing.Bitmap original = new System.Drawing.Bitmap(e.File.FileContent);
int width = original.Width;
int height = original.Height;
int previewWidth = framewidth;
int previewHeight = frameheight;
if (width > height)
{
previewWidth = framewidth;
previewHeight = (previewWidth * height) / width;
}
else if (height > width)
{
previewHeight = frameheight;
previewWidth = (previewHeight * width) / height;
}
System.Drawing.Bitmap preview = new System.Drawing.Bitmap(original, previewWidth, previewHeight);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
preview.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Seek(0, System.IO.SeekOrigin.Begin);
byte[] buffer = new byte[ms.Length];
ms.Read(buffer, 0, (int)ms.Length);
for (int i = 0; i <= 100; i++)
{
MyControls.Web.ProgressInfo prog = AjaxUploadGalleryExtender1.ProgressInfo;
prog.Message = "Generating Perview .. ";
prog.Value = i;
System.Threading.Thread.Sleep(20);
}
Response.ContentType = userPostedFile.ContentType;
Response.BinaryWrite(buffer);
Response.End();
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.