protected override IGatewayHandler ProcessGatewayRequest(HttpContext objHttpContext, string strAction)
{
if (strAction == "Content")
{
ProcessContentRequest(objHttpContext);
}
else if (strAction == "Upload")
{
ProcessUploadRequest(objHttpContext);
}
return null;
}
///<summary>
/// Processes the content request.
///</summary>
///<param name="objHttpContext">The HTTP context.</param>
private void ProcessContentRequest(HttpContext objHttpContext)
{
objHttpContext.Response.ContentType = "text/html";
XmlTextWriter objWriter = new XmlTextWriter(objHttpContext.Response.OutputStream, Encoding.UTF8);
objWriter.Formatting = Formatting.Indented;
objWriter.WriteStartElement("html");
objWriter.WriteStartElement("head");
objWriter.WriteElementString("title", "ImageUploader");
objWriter.WriteStartElement("script");
objWriter.WriteAttributeString("language", "javascript");
objWriter.WriteAttributeString("src", GetSkinResource("iuembed.js"));
objWriter.WriteValue(" ");
objWriter.WriteEndElement();
objWriter.WriteStartElement("script");
objWriter.WriteAttributeString("language", "javascript");
objWriter.WriteAttributeString("src", GetSkinResource("iuintegration.js"));
objWriter.WriteValue(" ");
objWriter.WriteEndElement();
objWriter.WriteStartElement("script");
objWriter.WriteAttributeString("language", "javascript");
objWriter.WriteValue(string.Format("var mstrControlId={0}; var mstrSessionID='{1}';", this.ID,
this.Session.SessionID));
objWriter.WriteEndElement();
objWriter.WriteEndElement();
objWriter.WriteStartElement("body");
objWriter.WriteAttributeString("style", "margin:2px;background-color:#F0F0F0;");
objWriter.WriteStartElement("script");
objWriter.WriteAttributeString("language", "javascript");
objWriter.WriteValue(GetScript());
objWriter.WriteEndElement();//script
objWriter.WriteEndElement();//body
objWriter.WriteEndElement();//html
objWriter.Flush();
objWriter.Close();
}
///<summary>
/// Gets the script.
///</summary>
///<returns></returns>
private string GetScript()
{
StringBuilder objScript = new StringBuilder();
objScript.AppendLine("var iu = new ImageUploaderWriter('ImageUploader', '100%', '100%');");
objScript.AppendLine("iu.activeXControlEnabled = true;");
objScript.AppendLine("iu.javaAppletEnabled = true;");
objScript.AppendLine(string.Format("iu.activeXControlCodeBase = '{0}';", this.GetSkinResource("ImageUploader6.cab")));
objScript.AppendLine(string.Format("iu.javaAppletCodeBase = '{0}';", this.GetSkinResource("ImageUploader6.jar")));
objScript.AppendLine(string.Format("iu.addParam('LicenseKey', '{0}');", this.GetSafeScriptString(this.LicenseKey)));
objScript.AppendLine(string.Format("iu.addParam('PaneLayout', '{0}');", this.GetSafeScriptString(this.PaneLayout)));
objScript.AppendLine(string.Format("iu.addParam('Action', '{0}');", this.Action));
objScript.AppendLine("iu.addEventListener('AfterUpload', 'OnUploadComplete');");
objScript.AppendLine("iu.addEventListener('BeforeUpload', 'OnBeforeUpload');");
objScript.AppendLine("iu.addParam('BackgroundColor', '#F0F0F0');");
objScript.AppendLine("iu.writeHtml();");
return objScript.ToString();
///<summary>
/// Processes the upload request.
///</summary>
///<param name="objHttpContext">The HTTP context.</param>
private void ProcessUploadRequest(HttpContext objHttpContext)
{
// Check upload is valid
if ((!string.IsNullOrEmpty(objHttpContext.Request.Form["PackageGuid"]) && this.IsRequest ...
{
// Get the file count
int intFileCount = int.Parse(objHttpContext.Request.Form["FileCount"]);
// Create a files list for collecting posted files
List<ImageUploaderFile> objFiles = new List<ImageUploaderFile>();
// Clear the previous files value
this.RemoveValue<ImageUploaderFile[]>(ImageUploader.FilesProperty);
// Loop all files
for (int intFileIndex = 1; intFileIndex <= intFileCount; intFileIndex )
{
objFiles.Add(new ImageUploaderFile(objHttpContext, intFileIndex));
}
// Set the files collection
this.SetValue<ImageUploaderFile[]>(ImageUploader.FilesProperty,
objFiles.ToArray());
}
}