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
Die verständlichste Erklärung des Genauigkeitspro...
Dieser Artikel enthält das ausführliche Tutorial ...
1. Überprüfen und installieren Sie pssh, yum list...
Inhaltsverzeichnis Containerhierarchie Der Prozes...
mysql hat versehentlich Daten gelöscht Verwenden ...
Die Verwendung von depends_on zum Sortieren von C...
Vorwort Jede gute Angewohnheit ist ein Schatz. Di...
Samba-Dienste: Dieser Inhalt dient als Referenz f...
Aktuelle Uhrzeit abrufen: Wählen Sie aktuellen Ze...
Inhaltsverzeichnis 1. Konfigurieren Sie den Linux...
Die neueste Insider-Version von Visual Studio Cod...
Inhaltsverzeichnis Vorwort 1. Warum treten domäne...
In diesem Artikelbeispiel wird der spezifische JS...
Manchmal müssen Sie auf einige statische Ressourc...
Inhaltsverzeichnis 1. Einleitung 2. Verwendung 1....