Ich habe Datenbank mit EmpNo (Int) und EmpImage (Bild) Spalten.Retrieve Dateiname von der Datenbank mit HttpHandlers
Ich verwende HttpHandler, um die Bilder anzuzeigen.
Ich speichere Bilder sowohl in der Datenbank als auch im Ordner.
Jetzt möchte ich die Namen der Bilder im Ordner als Namen von EmpNo ändern, deren ich beim Hochladen nicht geändert habe.
Also müssen Sie die Bilder Namen aus der Datenbank holen, um sie mit den Bildnamen im Ordner zu vergleichen und sie umzubenennen.
Wie kann ich holen oder extrahieren die Bildnamen aus den binären Daten, die ich von der Datenbank mit generischen Handler bekommen.
Ich habe den Code In Handler als Referenz beigefügt.
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
public class Lab_14___ImageFetchingHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
SqlConnection vConn = new SqlConnection("server=localhost; database=Asp.netDemoWebsiteDatabase; Integrated Security = SSPI;");
vConn.Open();
String vQuery = "Select EmpImage from EmpImages where [email protected]";
SqlCommand vComm = new SqlCommand(vQuery, vConn);
//Receive the Id from some Form
String vId = context.Request.QueryString["id"];
vComm.Parameters.AddWithValue("@id", vId);
SqlDataReader vDr = vComm.ExecuteReader();
while (vDr.Read())
{
context.Response.ContentType = "image/jpg";
context.Response.BinaryWrite((byte[])vDr["EmpImage"]);
[ Here I need the Images names to store in List or array.How?? ]
}
vConn.Close();
}
public bool IsReusable
{
get
{
return false;
}
}
}
Der Image-Name wird nicht mit den in der Datenbank gespeicherten binären Daten erfasst, es handelt sich lediglich um binäre Daten. Sie müssen den Bildnamen während des Hochladens in einer separaten Spalte speichern und speichern. Auf diese Weise haben Sie auch den Namen, wenn Sie den Bildinhalt aus der Datenbank abrufen. – Vinod
Können Sie ein Testprojekt hochladen, damit ich es überprüfen kann? – Vinod
Ha, Vinod Ich habe meinen Kommentar entfernt Weil ich herausgefunden habe, dass ich falsch lag und meine Aussage falsch war. Es zeigt einen beliebigen Dateinamen an. Es konvertiert nur die binären Daten in ein Bild. Ich dachte, wenn Datei in Binär konvertiert wird, wird der Name auch in Binär konvertiert, da es der Teil der Datei ist. Habe ich recht? – Louis