我正在制作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. –