如何使用angular js从webapi url文件夹中检索图像?

时间:2017-05-19 14:07:45

标签: javascript c# angularjs asp.net-web-api

我是角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;" />&nbsp;<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中检索图像。请指导我。

1 个答案:

答案 0 :(得分:0)

你可以使用Base64字符串的图片,只需用字符串替换返回值:

return Convert.ToBase64String(File.ReadAllBytes(imgPath));
在web api结果后使用

(使用jquery):

$(".img-responsive img-circle").attr("src",dataBase64Str);