Asp.net mvc 将API的图像结果显示到WEB
从字节到图像的检索和图像转换非常有效 API代码:Asp.net mvc 将API的图像结果显示到WEB,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,从字节到图像的检索和图像转换非常有效 API代码: [HttpGet] public HttpResponseMessage MemberImage(string employeeId) { IMemberProcedures storedProcedure = new StoredProcedure(); IValidation validation = new CommonRepository();
[HttpGet]
public HttpResponseMessage MemberImage(string employeeId)
{
IMemberProcedures storedProcedure = new StoredProcedure();
IValidation validation = new CommonRepository();
RequestModel request = SQL.Read(out List<MemberDetail> members, storedProcedure.SAMPLESTOREDPROCEDURE("::1", employeeId));
byte[] imgData = members[0].Picture;
MemoryStream ms = new MemoryStream(imgData);
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(ms);
response.Content.Headers.ContentType = new
MediaTypeHeaderValue("image/png");
return response;
}
这会触发一个不支持媒体的错误,我认为我没有正确地将图像从web控制器显示到我的视图中
有没有其他方法可以将API的图像结果显示到WEB上?经过几次尝试后,我终于通过使用
ReadAsByteArrayAsync()
使其正常工作
通过执行此操作将其显示以查看
我不知道最后一行你在这里做什么。@t.S.我也是,先生,我太迷茫了,我只是展示了我尝试过的东西,但我真正想要的是如何显示图像的不同方法。
[HttpGet]
public ActionResult MemberImage(string id)
{
IGetInterface Ip = new IpHelper();
HttpResponseMessage image = API.GetResponse($"api/QMS/MemberImage?employeeId={id}");
var foo = image.Content.ReadAsStringAsync().Result;
return File(Enumerable.Range(0, foo.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(foo.Substring(x, 2), 16))
.ToArray(), "image/png");
}
[HttpGet]
public ActionResult MemberImage(string id)
{
IGetInterface Ip = new IpHelper();
HttpResponseMessage image = API.GetResponse($"api/QMS/MemberImage?employeeId={id}");
byte[] foo = image.Content.ReadAsByteArrayAsync().Result;
return File(foo, "image/png");
}