Ter*_*ård 8 c# memorystream http-get angularjs asp.net-web-api2
我正在使用带有C#和Azure的Web Api 2,以及如何返回图像(从Memorystream基础)以便在页面上显示的问题...
这是我的Controller HTTPGET
[Route("api/PhotoSubmit/GetPhoto/{id}")]
[HttpGet]
public HttpResponseMessage GetPhotoById(int id)
{
StorageServices storage = new StorageServices();
MemoryStream ms = storage.DownloadBlob(id);
// return what ?
}
Run Code Online (Sandbox Code Playgroud)
这是servicecall的开头:
$http({
method: 'GET',
url: 'api/PhotoSubmit/GetPhoto/' + $routeParams.id,
accept: 'application/json'
})
.success(function(result) {
// How do i handle the result and what HTML should i use ? <img ?
});
Run Code Online (Sandbox Code Playgroud)
从客户端,您不需要使用$ http.您可以使用普通的旧HTML简化该过程...
<img src="/api/PhotoSubmit/GetPhoto/2232" />
Run Code Online (Sandbox Code Playgroud)
对于动态图像,使用像这样的JQuery ......
$('#ImageLocation').html('<img src="/api/PhotoSubmit/GetPhoto/' + intID + '" />');
Run Code Online (Sandbox Code Playgroud)
Web浏览器将自动完成为图像发出HTTP请求的工作,从而为您节省所有复杂性.
在服务器端,您可以使用这些过程加载文件并将其流式传输到客户端.服务器代码返回正确的MIME类型非常重要,例如......
context.Response.ContentType = "image/png";
Run Code Online (Sandbox Code Playgroud)
资源:
...和...