我正在製作Web Api,我需要將多個圖像返回給客戶端。我目前使用每個圖像的Base64字符串,但這會導致每個請求花費太長時間。是否有更好,更有效的圖像返回方式?從WebApi返回圖像
這是我使用的代碼:
控制器:
public LearningUnits GetLearningUnits([FromODataUri]Guid key)
{
var record = db.LearningUnits.SingleOrDefault(inst => inst.LearningUnitId == key);
record.ImageURLPath = ImageHandler.ImageToByteArrayFromFilePath(record.ImageURLPath);
return record;
}
ImageToByteArray方法:
public static string ImageToByteArrayFromFilePath(string imagefilePath)
{
byte[] imageArray = File.ReadAllBytes(imagefilePath);
string baseImage = Convert.ToBase64String(imageArray);
return baseImage;
}
有多少這樣的圖像中總有哪幾種? –
爲什麼你不能在你的模型中返回url,然後客戶端會進一步請求獲取圖片二進制文件? – tenbits
取決於數據庫中的記錄數量。每個記錄都有一個圖像。所以它可能是1到1000. –