Web Api 2 – 如何从HTTPGET返回映像(来自Azure存储的MemoryStream)而不保存到磁盘?
我正在使用带有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 ? }
这是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 ? });
从客户端,您不需要使用$ http。 您可以使用普通的旧HTML简化该过程…
对于动态图像,使用像这样的JQuery ……
$('#ImageLocation').html('');
Web浏览器将自动执行为映像创建HTTP请求的工作,从而为您节省所有复杂性。
在服务器端,您可以使用这些过程来加载文件并将其流式传输到客户端。 服务器代码返回正确的MIME类型非常重要,例如……
context.Response.ContentType = "image/png";
资源:
ASP .Net Web API将图像下载为二进制文件
…和…
使用ashx Handler显示图像
- 为什么Selenium Firefox驱动程序会在父进程溢出时认为我的模态没有显示:隐藏?
- web api put识别查询字符串但不识别正文
- 凭据标志为“true”,但是“Access-Control-Allow-Credentials”
- entity framework在db.SaveChanges()期间创建新数据行
- 尝试使用angularJS和c#webapi从服务器下载文件
- 将Angularjs表达式/变量作为路径参数传递给asp.net mvc操作链接
- 使用angularJS和asp.net mvc下载文件
- 加载集线器时出错。 确保您的集线器引用正确,例如
- “元素目前不可见,因此可能无法与之交互”但另一个是?