Preloader ved oploadning af billed til server
Hej EksperterJeg kunne godt bruge lidt hjælp til, hvordan man kan lave en preloader ved oploadning af billed til server (Se evt. script).
Jeg har forsøgt lidt forskeligt(Se script).
Script:
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Drawing"%>
<%@ Import Namespace="System.Drawing.Imaging"%>
<%@ Import Namespace="System.Drawing.Drawing2D"%>
<%@ Import Namespace="System.IO" %>
<HTML>
<HEAD>
<title>Scaling Images</title>
<script language="C#" runat="server">
bool ServerValidation()
{
Regex r = new Regex(".*\\.(jpg|gif|png)$", RegexOptions.IgnoreCase|RegexOptions.Compiled);
return r.IsMatch(File1.PostedFile.FileName);
}
void Button1_Click(object Source, EventArgs e)
{
if (File1.PostedFile != null)
{
if(ServerValidation())
{
//try
//{
String strFileName = Path.GetFileName(File1.PostedFile.FileName);
Bitmap BitmapSource = new Bitmap(File1.PostedFile.InputStream);
decimal ScaleValue = 100.0M/BitmapSource.Width;
decimal DestWidth = BitmapSource.Width * ScaleValue;
decimal DestHeight = BitmapSource.Height*ScaleValue;
Bitmap BitmapDest = new Bitmap(decimal.ToInt32(DestWidth),decimal.ToInt32(DestHeight)) ;
Graphics bmpGraphics = Graphics.FromImage(BitmapDest);
// set Drawing Quality
bmpGraphics.InterpolationMode = InterpolationMode.High;
Rectangle compressionRectangle = new Rectangle(0, 0, decimal.ToInt32(DestWidth), decimal.ToInt32(DestHeight));
bmpGraphics.DrawImage(BitmapSource, compressionRectangle);
lbl_Henterdata.Text = "Henter data.. Vent Venligst";
File1.PostedFile.SaveAs(Server.MapPath("../upload/") + strFileName);
BitmapDest.Save(Server.MapPath("../upload/")+ "2" + strFileName);
//}
//catch (Exception exc)
//{
//Span1.InnerHtml = "Error Uploading file <b>" + exc.ToString();
//}
}
else
{
RequiredFieldValidator.Text = "<br> Vælg en fil af typen jpg, gif eller png<br>";
}
}
}
</script>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function clearPreloadPage() { //DOM
if (document.getElementById){
document.getElementById('prepage').style.visibility='hidden';
}else{
if (document.layers){ //NS4
document.prepage.visibility = 'hidden';
}
else { //IE4
document.all.prepage.style.visibility = 'hidden';
}
}
}
// End -->
</SCRIPT>
</HEAD>
<body onLoad="clearPreloadPage();">
<div id="prepage" style="position:absolute; font-family:arial; font-size:16; left:0px;
top:0px; background-color:white; layer-background-color:white; height:100%; width:100%;">
<table width=100%><tr><td>Loading ... ... Please wait!</td></tr></table>
</div>
<h3>Skalering af billeder med .NET og C#</h3>
<form id="Form1" method="post" target="_top" encType="multipart/form-data" runat="server">
<p>Vælg en fil som du vil uploade og skalere: <input id="File1" type="file" maxLength="30" name="File1" runat="server"><asp:requiredfieldvalidator id="RequiredFieldValidator" runat="server" Width="100%" Display="Static" ControlToValidate="File1"> Du skal vælge et billede før du kan uploade!</asp:requiredfieldvalidator></p>
<asp:Label ID="lbl_Henterdata" runat="server"></asp:Label>
<P><asp:radiobuttonlist id="Scaling" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="1">1x</asp:ListItem>
<asp:ListItem Value="2">½x</asp:ListItem>
<asp:ListItem Value="4" Selected="True">1/4 x</asp:ListItem>
</asp:radiobuttonlist></P>
<P>
<span id="Span1" style="FONT: 8pt verdana; COLOR: red" runat="server"><br>
<br>
<input id="Button1" type="submit" value="Upload og skaler" name="Button1" runat="server" OnServerClick="Button1_Click"></span></P>
<P>
</form>
<br/>
</body>
</HTML>
