Avatar billede n1 Nybegynder
23. august 2004 - 18:00 Der er 7 kommentarer og
1 løsning

Upload fil med dato og tidspunkt

er der ikke nogen der kan lave dette script om således et den gemmer filen således at fil navnet kommer til at indeholde dato og klokkeslæt (ÅÅÅÅ-MM-DD-TTMMSS-filnavn.filtype) og den skal selvfølgelig bruge server tiden!!

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<script language="javascript">
function vis()
{
opener.location.replace('images.asp?sub=uploaded/');
self.close;
}
</script> 
<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("<a href=\"img.asp?img=uploaded/stor/" + strFileName + "\">vis billed</a></p>");
                    }
                    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>
    <p><a href='#' onclick='vis()'>se alle uploadede billeder!</a>
    </asp:PlaceHolder>
</form>

</body></html>

selve scriptet uploader et billed og laver en kopi som bliver skaleret, så det er vigtigt at billederne i mappen "uploaded/" og "uploaded/stor/" hedder det samme!!!

Håber i kan hjælpe

mvh Niko..
Avatar billede snepnet Nybegynder
23. august 2004 - 18:10 #1
du kan proppe det her foran filenam :

strFileName = DateTime.Now.ToString("yyyy-MM-ddHHmmss") + strFileName;
Avatar billede snepnet Nybegynder
23. august 2004 - 18:12 #2
Altså så du får noget i denne stil istedet :

if(upload_file.PostedFile.FileName.IndexOf("\\") > 0)
{
    strFileName = upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.LastIndexOf("\\") + 1);                                               
}
else
{
    strFileName = upload_file.PostedFile.FileName;
}
strFileName = DateTime.Now.ToString("yyyy-MM-dd")+strFileName;
Avatar billede snepnet Nybegynder
23. august 2004 - 18:14 #3
hov du skulle vist have en ekstra bindestreg med :
strFileName = DateTime.Now.ToString("yyyy-MM-dd")+"-"+strFileName;
Avatar billede snepnet Nybegynder
23. august 2004 - 18:15 #4
undskyld... jeg sidder jo og kager rundt i det...

if(upload_file.PostedFile.FileName.IndexOf("\\") > 0)
{
    strFileName = upload_file.PostedFile.FileName.Substring(upload_file.PostedFile.FileName.LastIndexOf("\\") + 1);                                               
}
else
{
    strFileName = upload_file.PostedFile.FileName;
}
strFileName = DateTime.Now.ToString("yyyy-MM-ddHHmmss")+"-"+strFileName;
Avatar billede n1 Nybegynder
23. august 2004 - 19:13 #5
kan du ikke lige sætte det sammen så det er sammenhængende, jeg kan ikke lige finde ud af det ellers...
Avatar billede snepnet Nybegynder
23. august 2004 - 19:19 #6
Jeg kan da gøre et forsøg... så kan du se om det virker :

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<script language="javascript">
function vis()
{
opener.location.replace('images.asp?sub=uploaded/');
self.close;
}
</script> 
<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
{
    // jeg ved ikke hvad det her gør godt for... måske gør du :o)
    strFileName = "ukendt fil";
}
strFileName = DateTime.Now.ToString("yyyy-MM-ddHHmmss")+"-"+strFileName;
            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("<a href=\"img.asp?img=uploaded/stor/" + strFileName + "\">vis billed</a></p>");
                    }
                    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>
    <p><a href='#' onclick='vis()'>se alle uploadede billeder!</a>
    </asp:PlaceHolder>
</form>

</body></html>
Avatar billede n1 Nybegynder
23. august 2004 - 19:27 #7
det virker fint kan du ikke lige skrive noget som et svar så du kan få nogle point?
Avatar billede snepnet Nybegynder
23. august 2004 - 19:32 #8
joda :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester