Avatar billede segato Nybegynder
22. marts 2005 - 19:05 Der er 4 kommentarer og
1 løsning

FileUpload JPEG og GIF

Jeg vil gerne uploade billeder til min hjemmeside. Til dette kan man bruge FileUpload kontrollen. Kan man gøre sådan at ens fil dialog kun viser JPEG og GIF og kan man teste om det faktisk er JPEG og GIF samt kontrolere størrelse i bytes og pixels. Hvis størrelsen er for stor skal man så kunne scalere dem ned.

ved godt det en hel bunke spørgsmål så pumper lidt ekstra points i.

På forhånd tak.

Segato
Avatar billede snepnet Nybegynder
23. marts 2005 - 12:59 #1
mon ikke denne tutorial er lige noget for dig :
http://www.stardeveloper.com/articles/display.html?article=2003022601&page=1

mvh
Avatar billede segato Nybegynder
23. marts 2005 - 15:16 #2
hej sneppet og tak for dit svar. Meget sjovt du lige smed den artikel den jeg selv har brugt til det system jeg har lige nu. Den svarer bare ikke på to af tingene. Hvis man prøver at uploade et billede som er for stort skal den fysisk ændre billedet størrelse. Ikke når den bliver vist men når den bliver uploadet. Også den ting med i Fildialogen der bliver startet op. kan man få fat i den og sætte at det kun er gifs og jpeg som med en alm fildialog?

Har whidbey måske noget endnu smartere end den der FileUpload ting. Tænkte på hvis man nu fik fat i et Image object så ville man have en masse kontrol over dte billede man nu uploadede i stedet for at kigger i header chunks osv.
Avatar billede snepnet Nybegynder
23. marts 2005 - 16:17 #3
hej igen segato :o)

du kan ændre størrelsen på billeder sådan her :

// til ændring af størrelsen på en billede
private static byte[] ResizeImage(byte[] image, int width, int height)
{
    System.Drawing.Bitmap bmpOut = null;

    Bitmap bmp = new Bitmap(new MemoryStream(image));
    bmpOut = new Bitmap(width, height);
    Graphics g = Graphics.FromImage(bmpOut);
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    g.FillRectangle(Brushes.White, 0, 0, width, height);
    g.DrawImage(bmp, 0, 0, width, height);
    bmp.Dispose();

    MemoryStream ms = new MemoryStream();
    bmpOut.Save(ms, ImageFormat.Jpeg);
    byte[] result = ms.ToArray();
    ms.Close();

    return result;
}

(her bare som eksempler en handler af den knap du klikker på som sørger for at du uploader billedet... og det forudsættes at du har en <intput type="file" runat="server" id="File1"> på din side).

void Button1_Click(object sender, EventArgs e)
{
    int width = 100;
    int height = 100;

    System.Drawing.Bitmap bmpOut = null;

    Bitmap bmp = new Bitmap(this.File1.PostedFile.InputStream);
    bmpOut = new Bitmap(width, height);
    Graphics g = Graphics.FromImage(bmpOut);
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    g.FillRectangle(Brushes.White, 0, 0, width, height);
    g.DrawImage(bmp, 0, 0, width, height);
    bmp.Dispose();

    MemoryStream ms = new MemoryStream();
    bmpOut.Save(@"c:\testfiles\image.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
    byte[] result = ms.ToArray();
    ms.Close();
}

jeg tror ikke du kan styre valgmulighederne i den fildialogboks der popper op, og whidbey har godt nok en FileUpload kontrol, men det er ikke noget der giver dig det store i denne forbindelse tror jeg.

meen.... du kan jo så selv lave et image udfra den fil der bliver uploadet :

System.Drawing.Image img = System.Drawing.Image.FromStream(this.File1.PostedFile.InputStream);

Håber det kunne hjælpe lidt.

mvh
Avatar billede segato Nybegynder
23. marts 2005 - 17:43 #4
Det super cool sneppet. Når det kommer til web er du the man. Smid et svar.
Avatar billede snepnet Nybegynder
23. marts 2005 - 17:58 #5
et svar får du her ;o)
mvh
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