Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1841 | Besucher online: 54
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Datei nach Bildupload prüfen


Autor: Jan Welker
Sprache: ASP.net
Bewertung:
4.56 (2 votes)
Anzahl der Aufrufe: 12219
  
Kick it on dotnet-kicks.de  

Beschreibung:

Der Upload einer Datei mit ASP.net ist sehr einfach.
Nachdem die Datei auf dem Webserver ist, sollte geprüft werden, ob die Datei auch so verwendet werden kann.
In diesem Beispiel wird geprüft, ob die Datei ein gültiges Bild ist,
die Datei eine bestimmte Dateigrüße nicht überschreitet und ob die Länge und Breite des Bildes innerhalb der angegebenen Grenzen liegt.


Abgelegt unter: Upload, Image, Bild, Datei, prüfen.



ASP.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
protected void UploadButton_Click(object sender, EventArgs e)
{        
	// Pfad zum speichern der Bilder festlegen
    string savePath = Request.PhysicalApplicationPath + "Pics\\";
	// wenn ein File ausgewählt wurde
    if (FileUpload1.HasFile)
    {
        string fileName = FileUpload1.FileName; // dieser Name sollte eindeutig ein !
        savePath += fileName;
        FileUpload1.SaveAs(savePath);

        bool BitmapOK = true;
        bool GrößeOK = true;
        bool DateigrößeOK = true;

        FileInfo FI = new FileInfo(savePath);
		// überprüfen ob die Datei eine Bestimmte Dateigröße nicht überschreitet, hier sind es 100 kB
        if (FI.Length > 100 * 1024)
        {
            DateigrößeOK = false;
            File.Delete(savePath);
        }
        try
        {
			// Überprüfen ob die Datei gültiges Bild ist
            System.Drawing.Bitmap BM = new System.Drawing.Bitmap(savePath);
			// Breite und Höhe prüfen , hier sind es 200 mal 100 Pixel
            if (BM.Width > 200 || BM.Height > 100)
            {
                GrößeOK = false;
                BM.Dispose();
                File.Delete(savePath);
            }
        }
        catch
        {
            BitmapOK = false;
            File.Delete(savePath);
        }
        
		
		// wenn alles OK war dann kann das Bild hier weiterverarbeitet werden, wenn nicht, können entsprechende Fehlermeldungen ausgegben werden
        if (BitmapOK && GrößeOK && DateigrößeOK)
        {
			// do something... 
        }
    }
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Macximilian schrieb am:  27.08.2008 23:37:26

Ist das nicht eher C#?
.Net terMensch schrieb am:  28.08.2008 08:24:41

Ist das nicht eher VB????

Protected Sub UploadButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Pfad zum speichern der Bilder festlegen
Dim savePath As String = Request.PhysicalApplicationPath + "Pics\"
' wenn ein File ausgewählt wurde
If FileUpload1.HasFile Then
Dim fileName As String = FileUpload1.FileName
' dieser Name sollte eindeutig ein !
savePath += fileName
FileUpload1.SaveAs(savePath)

Dim BitmapOK As Boolean = True
Dim GrößeOK As Boolean = True
Dim DateigrößeOK As Boolean = True

Dim FI As New FileInfo(savePath)
' überprüfen ob die Datei eine Bestimmte Dateigröße nicht überschreitet, hier sind es 100 kB
If FI.Length > 100 * 1024 Then
DateigrößeOK = False
File.Delete(savePath)
End If
Try
' Überprüfen ob die Datei gültiges Bild ist
Dim BM As New System.Drawing.Bitmap(savePath)
' Breite und Höhe prüfen , hier sind es 200 mal 100 Pixel
If BM.Width > 200 OrElse BM.Height > 100 Then
GrößeOK = False
BM.Dispose()
File.Delete(savePath)
End If
Catch
BitmapOK = False
File.Delete(savePath)
End Try


' wenn alles OK war dann kann das Bild hier weiterverarbeitet werden, wenn nicht, können entsprechende Fehlermeldungen ausgegben werden
' do something...
If BitmapOK AndAlso GrößeOK AndAlso DateigrößeOK Then
End If
End If
End Sub
.Net terMensch schrieb am:  28.08.2008 08:29:02

Bzw leichter ersichtlicher ist es so!
Und ich behaupte es ist eine ASP.NET Anwendung
# Protected Sub UploadButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Pfad zum speichern der Bilder festlegen
Dim savePath As String = Request.PhysicalApplicationPath + "Pics\"
' wenn ein File ausgewählt wurde
If FileUpload1.HasFile Then
Dim fileName As String = FileUpload1.FileName
' dieser Name sollte eindeutig ein !
savePath += fileName
FileUpload1.SaveAs(savePath)

Dim BitmapOK As Boolean = True
Dim GrößeOK As Boolean = True
Dim DateigrößeOK As Boolean = True

Dim FI As New FileInfo(savePath)
' überprüfen ob die Datei eine Bestimmte Dateigröße nicht überschreitet, hier sind es 100 kB
If FI.Length > 100 * 1024 Then
DateigrößeOK = False
File.Delete(savePath)
End If
Try
' Überprüfen ob die Datei gültiges Bild ist
Dim BM As New System.Drawing.Bitmap(savePath)
' Breite und Höhe prüfen , hier sind es 200 mal 100 Pixel
If BM.Width > 200 OrElse BM.Height > 100 Then
GrößeOK = False
BM.Dispose()
File.Delete(savePath)
End If
Catch
BitmapOK = False
File.Delete(savePath)
End Try


' wenn alles OK war dann kann das Bild hier weiterverarbeitet werden, wenn nicht, können entsprechende Fehlermeldungen ausgegben werden
' do something...
If BitmapOK AndAlso GrößeOK AndAlso DateigrößeOK Then
End If
End If
End Sub
Mr. Bart Simpson schrieb am:  28.08.2008 14:33:47

Kleiner Tipp: Objekte, die IDisposable implementieren (wie hier die Bitmap) sollten möglichst immer mittels using Block (oder manuell via Dispose in einem finally Block) freigegeben werden.
Sonst kann es leicht passieren, dass Du versuchts die Datei zu löschen, die Bitmap aber noch ein Handle drauf hält und somit eine Exception geworfen wird.


Diese Snippets könnten für Sie interessant sein:
[C#] FTP File Upload (mit Buffer)
[C#] Datei auf einen Ftp uploaden
[C#] eindeutigen Dateinamen ermitteln
[VB.NET] Invert Colors from Image
[VB.NET] Resize image to fit in picturebox
[C#] Bild beim Zeichnen invertieren
[C#] Square Thumbnail generieren
[C#] Change PixelFormat
[VB.NET] Durschnittsfarbe eines Bildes ermitteln
[C#] Image in IPictureDisp umwandeln
[C#] Bild drehen (nach Winkelangabe)
[C#] Image zu Base64 konvertieren und zurück
[C#] Image in string wandeln und zurück
[C#] Bildgröße im Verhältnis verändern (Interpoliert)
[C#] Bild von einem Control oder Panel
[VB.NET] Bildausschnitt auslesen
[VB.NET] Bildgröße im Verhältnis verändern (Interpoliert)
[VB.NET] Bildgröße prozentual verändern (Interpoliert)
[VB.NET] Bildgröße in beiden Dimensionen verändern (Interpoliert)
[C#] base64 codierten String in eine Bitmap umwandeln
[C#] Bitmap in base64 codierten String wandeln
[C#] Image aus URL laden
[C#] Bilder verkleinern, beschneiden und beides gleichzeitig
[VB.NET] Bytearray to Image / Image to Bytearray
[C#] Bild splitten
[C#] Text2Bitmap (String in Bild umwandeln)
[C#] Hintergrundfarbe Transparenter Bilder (z.B. PNG) ändern
[C#] Größe eines Bildes mit mit gleichem Seitenverhältniss ändern
[C#] WPF: Image aus dem Web in Image-Element anzeigen
[C#] Bitmap schneller in Graustufen wandeln
[C#] ISO-Abbild von einer CD/DVD erstellen
[VB.NET] Let your image glow - Bild glühen lassen
[C#] old Windows Forms Image to new WPF Image
[C#] SystemIconsImageListWrapper
[VB.NET] Bildgröße verändern (Verhältnis)
[VB.NET] Bildgröße verändern (Prozentual)
[VB.NET] Bildgröße verändern (Manuell)
[VB.NET] Neues Größenverhältnis eines Bilds berechnen
[VB.NET] JPEG Bild komprimieren
[VB.NET] Bild Transparent machen mit ColorMatrix
[VB.NET] Farben eines Bilds umkehren
[VB.NET] Bild in Graustufen umwandeln
[C#] GDI+ und das Paint Event
[C#] Bild anzeigen - Datei schließen
[VB.NET] Text auf Bild zeichnen
[C#] Größe verändern von Bildern
[C#] GetEuclidicDistance
[VB.NET] Bitmap Differenz Analyse
[VB.NET] Verschlüsslung von Dateien mit Vernam
[VB.NET] Alle Pixel einer bestimmten Farbe neu einfärben
[C#] Bild steht auf reflektierendem Grund
[C#] externes Programm aufrufen (andere Version) mit Parameter
[C#] Herausfinden welches Programm ein bestimmtes Dokument öffnet
[C#] Bilder aus *.resx Ressourcen Dateien in WPF verwenden
[VB.NET] Bild mit allen farben (True Color 16 Millionen Farben)
[C#] Schwarzweiß Bilder mit einem Farbverlauf füllen
[C#] Bild rotieren mit C#
[VB.NET] Datei im Explorer anzeigen und markieren
[C#] Datei anlegen
[C#] Aktuelles Verzeichnis auslesen
[VB.NET] CRC32 Hash einer Datei berechnen
[VB.NET] Den MD5 Hash einer Datei ermitteln
[VB.NET] Datei mittels Windows Dialog löschen
[VB.NET] Datei mittels Windows Dialog verschieben
[VB.NET] Datei mittels Windows Dialog kopieren
[VB.NET] Den SHA1 Hash einer Datei ermitteln
[VB.NET] Prüfen ob Datei gerade benutzt wird
[C#] Dateien in die Zwischenablage kopieren
[ASP.net] Textdatei zum Download anbieten
[C#] MD5-Hash von Dateien ermitteln
[C#] Arraylist in Textdatei schreiben
[C#] Textdatei in Arraylist speichern
[C#] SHA-1 Hash einer Datei erzeugen
[VB.NET] Datei Paketweise Kopieren
[C#] Dateien suchen mit LINQ
[C#] Datei/Ordner durch Erweiterungsmethoden abfragen
[C#] Datei-Eigenschaften zeigen (Eigenschaften-Fenster)
[C#] CSV Dateien schreiben
[C#] Create Nice File Size in C#
[VB.NET] Programmpfad mittels Erweiterung ermitteln in VB
[VB.NET] Dateien nach Datum sortieren
[C#] CSV und XML-Datei Datenbank-Import (incl. valid-check)
[C#] Datei umbenennen
[C#] Datei im Windows-Explorer anzeigen und markieren
[VB.NET] File Owner / File Besitzer
[VB.NET] wie in der CMD Pfad zu Datei ermitteln anhand des EXE-namens
[C#] Anzahl der Dateien in einem Ordner ermitteln
[VB.NET] Dateigröße als formatierter String
[VB.NET] Alle Dateien eines Ordners auflisten
[VB.NET] Den kurzen Pfad einer Datei ermitteln (8.3 Format)
[VB.NET] Klasse für Dateisuche
[C#] Erzeugen eines zufälligen Strings
[VB.NET] Dummy Datei erstellen
[C#] Datei in Papierkorb verschieben
[C#] Zeilen einer Datei zählen
[C#] Schreibschutz einer Datei setzen / entfernen
[ASP.net] Eine Datei zum Download anbieten
[VB.NET] Prüfen ob Dateiattribut vorhanden ist
[VB.NET] Bestimmtes Dateiattribut entfernen
[VB.NET] Datei ein bestimmtes Attribut geben
[VB.NET] Prüfen ob Datei eine EXE Datei ist
[C#] Prüfen, ob eine Datei ausfürbar ist (.exe, .bat, etc.)
[C#] Alle Dateien eines Ordners auflisten - C# Version -
[VB.NET] Datei-Inhalt anzeigen
[C#] Dateien und Ordner rekursiv löschen
[C#] Stream in Datei umleiten
[C#] Ordnergröße ermitteln
[C#] Automatisches Umbenennen eines Pfades
[C#] Kapazität mit Einheit darstellen
[C#] LogWriter klasse
[C#] MIMETypeManager
[VB.NET] Gibt das Bytearray einer Datei zurück
[C#] Datei ein bestimmtes Attribut geben/setzen
[VB.NET] Klasse für SimpleFileVerification (SFV)
[C#] Laden und speichern von komprimierten Binärdaten
[C#] Datei einlesen und als ArrayList jede Zeile zurückliefern
[C#] Parallele Dateisuche über mehrere Laufwerke
[C#] Byte Größenangaben als String formatieren (KB, MB, GB, ...)
[C#] Textdatei einlesen auf verschiedene Arten
[C#] Datei Teilweise einlesen (gestückelt)
[C#] Bestimmte Zeile einer Datei löschen
[C#] File Container
[C#] PDF Dateien erstellen
[C#] Ist Datei beschreibbar
[C#] Sichern einer MS-SQLServer Datenbank aus C#
[C#] Datei mi GZip packen
[C#] ini Datei anlegen - mit Dictionary
[C#] Dummy Files erzeugen. ( Mit Inhalt )
[C#] Byte-Array in Struktur kopieren
[C#] Text in Textdateien suchen
[VB.NET] Prüfen, ob eine Datei überschrieben werden kann
[C#] prüfen ob String eine gültige IP ist
[C#] String auf Emailadresse prüfen
[C#] Windows Passwort überprüfen [Übersetzung]
[C#] Prüfen, ob exklusiver Zugriff auf eine Access-DB möglich ist
[C#] Kollision von zwei rechteckigen Objekten prüfen
[C#] String auf erlaubte Zeichen prüfen
[C#] Prüfen ob aktueller Benutzer Administrator ist
[C#] Herausfinden, ob ein Programm (ProgramName) installiert ist.
[C#] Property auf Attribute prüfen Property.HasAttribute
[VB.NET] Permutation nachweisen
[VB.NET] Das Sieb des Eratosthenes
[VB.NET] Effizientere Primzahlprüfung großer Zahlen
[VB.NET] Das Sieb von Atkin
[VB.NET] Das Sieb von Atkin (2)
[VB.NET] Pandigitale Zahlen
[VB.NET] Das Sieb von Atkin (2) - aktuell
[C#] Prüfung, ob bestimmtes Bit in Byte gesetzt ist.
[C#] Setzt ein bestimmtes Bit in einem Byte

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.