Ich mache eine Web API und ich muss mehrere Bilder an den Client zurückgeben. Ich verwende derzeit eine Base64-Zeichenfolge für jedes Bild, aber dies führt dazu, dass jede Anfrage viel zu lange dauert. Gibt es eine bessere, effizientere Möglichkeit, Bilder zurückzugeben?Zurückgeben von Bildern aus WebApi
Dies ist der Code ich verwende:
Controller:
public LearningUnits GetLearningUnits([FromODataUri]Guid key)
{
var record = db.LearningUnits.SingleOrDefault(inst => inst.LearningUnitId == key);
record.ImageURLPath = ImageHandler.ImageToByteArrayFromFilePath(record.ImageURLPath);
return record;
}
ImageToByteArray Methode:
public static string ImageToByteArrayFromFilePath(string imagefilePath)
{
byte[] imageArray = File.ReadAllBytes(imagefilePath);
string baseImage = Convert.ToBase64String(imageArray);
return baseImage;
}
Wie viele solcher Bilder gibt es insgesamt? –
Warum können Sie keine URL in Ihrem Modell zurückgeben, und der Client wird dann weitere Anforderungen stellen, um Image-Binärdateien zu erhalten? – tenbits
Hängt von der Anzahl der Datensätze in der Datenbank ab. Jeder Datensatz hat ein Bild. So könnte es 1 bis 1000 sein. –