upload af billeder (ret simpelt)
Er der ikke nogen der kan lave dette script om således at der kun bliver uploaded et skaleret billed med en maks brede på 70 pixels!! jeg kan ikke lige selv få det til at virke!!i kan evt bruge nogle af de scripts der ligger her: http://www.zitech.net/index.asp?lmid=sp&coid=sp&tm=sp
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<script runat=server>
private void myUploadCode(Object sender, EventArgs e) {
string strFileName;
if(upload_file.PostedFile.ContentLength < (200*1024)) { //Er fil over 100kb?
if(upload_file.PostedFile.FileName.IndexOf("\\") > 0) {
strFileName = upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.LastIndexOf("\\") + 1);
} else { strFileName = "ukendt.fil"; }
if(!File.Exists(Server.MapPath("uploaded/stor/" + strFileName))) {
int MaxSize = 100;
try
{
System.Drawing.Image image = new System.Drawing.Bitmap(upload_file.PostedFile.InputStream);
upload_file.PostedFile.SaveAs(Server.MapPath("uploaded/stor/" + strFileName));
System.Drawing.Bitmap bOrg = (System.Drawing.Bitmap)image;
System.Drawing.Imaging.ImageFormat format = image.RawFormat;
if(image.Width>MaxSize || image.Height>MaxSize) {
Bitmap b = Resize(bOrg,MaxSize,MaxSize);
b.Save(Server.MapPath("uploaded/" + strFileName ),format);
}
else
{ //Gem original da billede allerede er mindre end 100px
upload_file.PostedFile.SaveAs(Server.MapPath("uploaded/" + strFileName));
}
Response.Write("Billedet er uploaded");
}
catch
{
Response.Write("Der skete en fejl ved processering af billedet");
}
}
else
{
Response.Write("Filnavn eksisterer allerede, prøv at ombøbe billedet!");
}
}
else {
//Fil var for stor
Response.Write("Billedet er over 100kb");
}
}
private static Bitmap Resize(Bitmap b, int MaxHeight, int MaxWidth)
{
int nWidth = b.Width;
int nHeight = b.Height;
if(nHeight>MaxHeight) {
nWidth = (int)((((double)b.Width)/((double)b.Height))*((double)MaxHeight));
nHeight = MaxHeight;
}
if(nWidth>MaxWidth) {
nWidth=MaxWidth;
nHeight = (int)((((double)b.Height)/((double)b.Width))*((double)MaxWidth));
}
Bitmap bTemp = (Bitmap)b.Clone();
b = new Bitmap(nWidth, nHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
double nXFactor = (double)bTemp.Width/(double)nWidth;
double nYFactor = (double)bTemp.Height/(double)nHeight;
for (int x = 0; x < b.Width; ++x)
for (int y = 0; y < b.Height; ++y)
b.SetPixel(x, y, bTemp.GetPixel((int)(Math.Floor(x * nXFactor)),
(int)(Math.Floor(y * nYFactor))));
return b;
}
</script>
<html>
<body link="#FFFFFF" text="#FFFFFF" bgcolor="#000000" vlink="#FFFFFF" alink="#FFFFFF">
<form enctype="multipart/form-data" runat="server">
<asp:PlaceHolder id="phEdit" runat="server">
<p><font color="#FFFFFF" face="Arial" size="5">Vælg billed:</font></p>
<input id="upload_file" type="file" runat="server" /><br><br>
<asp:button Text="Upload" onClick="myUploadCode" runat="server" /><br>
<p><font color="#FFFFFF" face="Arial" size="4">Maks fil størrelse: 200kb</font></p>
</asp:PlaceHolder>
</form>
</body></html>
Takker
