Normalerweise müssen die von Benutzern hochgeladenen Bilder in der Datenbank gespeichert werden. Grundsätzlich gibt es zwei Lösungen: 1. Speichern Sie den Pfad, unter dem das Bild in der Datenbank gespeichert ist. 2. Schreiben Sie das Bild in Form eines binären Datenstroms direkt in das Datenbankfeld. Hier sind die spezifischen Methoden: 1. Speichern Sie den Upload-Pfad des Bildes in der Datenbank: string uppath="";//Wird zum Speichern des Bild-Upload-Pfads verwendet//Ruft den Dateinamen des hochgeladenen Bildes ab string fileFullname = this.FileUpload1.FileName; // Uhrzeit abrufen, zu der das Bild hochgeladen wurde. Die Verwendung der Uhrzeit als Name des Bildes kann verhindern, dass die Bilder denselben Namen haben string dataName = DateTime.Now.ToString("yyyyMMddhhmmss"); //Bilddateinamen abrufen (ohne Erweiterung) Zeichenfolge Dateiname = Vollständiger Dateiname.Teilzeichenfolge(Vollständiger Dateiname.LetzterIndexvon("\\") + 1); //Bilderweiterungszeichenfolge abrufen Typ = fileFullname.Substring(fileFullname.LastIndexOf(".") + 1); //Beurteilen, ob es das erforderliche Format ist (Typ == "bmp" || Typ == "jpg" || Typ == "jpeg" || Typ == "gif" || Typ == "JPG" || Typ == "JPEG" || Typ == "BMP" || Typ == "GIF") { //Laden Sie das Bild in den Ordner mit dem angegebenen Pfad hoch this.FileUpload1.SaveAs(Server.MapPath("~/upload") + "\\" + dataName + "." + type); //Speichern Sie den Pfad in einer Variablen und speichern Sie den Wert der Variablen im entsprechenden Feld in der Datenbank uppath = "~/upload/" + dataName + "." + type; } 2. Speichern Sie das Bild als binären Datenstrom direkt in der Datenbank: Referenzieren Sie den folgenden Namespace: mit System.Drawing; mit System.IO; mit System.Data.SqlClient; Beim Entwurf einer Datenbank ist der entsprechende Feldtyp in der Tabelle iamge speichern: //Bildpfad string strPath = this.FileUpload1.PostedFile.FileName.ToString(); //Bild lesen FileStream fs = new System.IO.FileStream(strPath, FileMode.Open, FileAccess.Read); BinaryReader br = neuer BinaryReader(fs); byte[] foto = br.ReadBytes((int)fs.Length); br.Schließen(); fs.Schließen(); //In SqlConnection speichern myConn = neue SqlConnection("Datenquelle=.;Initialkatalog=stumanage;Benutzer-ID=sa;Passwort=123"); string strComm = " INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary )"; //Datenbankanweisungen ausführen und SqlCommand nach Bedarf ändern myComm = new SqlCommand(strComm, myConn); myComm.Parameters.Add("@photoBinary", SqlDbType.Binary, Foto.Länge); myComm.Parameters["@photoBinary"].Wert = Foto; myConn.Open(); wenn (myComm.ExecuteNonQuery() > 0) { dies.Label1.Text = "ok"; } myConn.Close(); Lesen: ...Verbindung zur Datenbank herstellen und dabei mycon.Open() weglassen. SqlCommand-Befehl = neu SqlCommand("select stuimage from stuInfo where stuid=107", mycon); //Ändern Sie die Abfrageanweisung nach Bedarf byte[] image = (byte[])command.ExecuteScalar (); //Geben Sie den Speicherpfad und den Namen des aus der Datenbank gelesenen Bildes an. String strPath = "~/Upload/zhangsan.JPG"; Zeichenfolge strPhotoPath = Server.MapPath(strPath); //Speichern Sie die Bilddatei unter dem obigen Pfad und Namen. BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate)); bw.Write(Bild); bw.Schließen(); //Bild anzeigen this.Image1.ImageUrl = strPath; //Diese beiden Methoden können je nach tatsächlichem Bedarf flexibel ausgewählt werden. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Virtual Box-Tutorialdiagramm zum Duplizieren virtueller Maschinen
>>: jQuery implementiert die Formularvalidierung
Wenn wir ein Webprojekt mit Django entwickeln, wi...
<br />Der häufigste Fehler vieler Website-De...
Hier ist ein einzeiliges Layout mit ul>li für ...
Das Span-Tag wird häufig beim Erstellen von HTML-...
Inhaltsverzeichnis Vorwort 1. Mit vue-cli 1. Defi...
Anweisungen zur MySQL-Installation MySQL ist ein ...
Inhaltsverzeichnis Einführung Vier Merkmale von T...
Bild-Tag : <img> Um ein Bild in eine Seite e...
Der „Abbrechen“-Button ist nicht Teil des notwend...
Ich lerne derzeit etwas über Redis und Container ...
Im vorherigen Artikel wurden mehrere Methoden zur...
Textkarussells sind in unserem täglichen Leben we...
1. Offizielle OpenSSL-Website Offizielle Download...
Als ich kürzlich Webseiten mit PHP schrieb, habe i...
In diesem Artikelbeispiel wird der spezifische JS...