我是角js的新手。我正在开发一个现有的项目,为我的公司使用角度js。我想知道如何使用angular js检索我的webapi项目文件夹中的图像。 webapi被声明为post方法,我需要在我的html视图中获取用户的图像。我已经创建了webapi逻辑但是当遇到角度js时,我被困住了,并且不知道如何做到这一点。
以下是我的网络api post方法
[AcceptVerbs("POST")]
[Route("profile/{userid}/")]
public byte[] GetScreenshot(string userid)
{
var imgPath = string.Format("{0}/{1}.png", Common.AppHelper.FolderPathProfilePicture, userid);
if (!File.Exists(imgPath))
{
imgPath = string.Format("{0}/no.png", Common.AppHelper.FolderPathDeviceScreenshot);
if (!File.Exists(imgPath))
imgPath = System.Web.Hosting.HostingEnvironment.MapPath("~/doc/thumbnail") + "\no.png";
if (!File.Exists(imgPath))
return null;
}
return File.ReadAllBytes(imgPath);
}
这是我的html页面
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<span class="glyphicon glyphicon-pencil" style="margin-top: 7px;"></span>
<div class="pull-right" style="margin-top: 5px;">
<span class="text-info" data-ng-bind-html="accountLoginName | to_trusted" style="font-size: 12px;"></span>
<!-- image must show at this img src -->
<img src="" alt="" class="img-responsive img-circle" style="height: 25px; width: 25px; border-radius: 50% !important;" /> <span class="caret"></span>
<ul class="dropdown-menu">
<li><a ng-click="popupProfilePictureControl.showPopup(loginAccount)">Change profile picture</a></li>
<li><a href="#">Change corporation</a></li>
<li><a href="#">Change password</a></li>
<li class="divider"></li>
<li><a href="#">Help</a></li>
<li><a href="#">Support</a></li>
<li class="divider"></li>
<li><a href="#logout">Logout</a></li>
</ul>
</div>
</div>
我不知道如何使用角度js从我的webapi中检索图像。请指导我。
答案 0 :(得分:0)
你可以使用Base64字符串的图片,只需用字符串替换返回值:
return Convert.ToBase64String(File.ReadAllBytes(imgPath));
在web api结果后使用(使用jquery):
$(".img-responsive img-circle").attr("src",dataBase64Str);