2014-10-14 2 views
0

보안 이미지 URL에 액세스하려고하는데이 지시어를 사용하면 현재 이미지의 base64를 반환하는 보안 이미지를 얻을 수 있습니다. 모든 것이 잘 작동합니다. 내 문제는 요청이 완료되었을 때입니다. 크롬에 "Aw, Snap!"이라는 오류가 표시됩니다.Angular 요소에서 지시문에 추가하면 브라우저가 손상됩니다.

+0

당신은 당신의 SRC를 깨닫는다는 "BASE_URL"이고 토큰 "토큰"권리? 그리고 당신은 당신의 지시에주의를 기울이고 있습니까? 그럴 수 없어. – Brian

+0

예. base_url은 base64 버전의 이미지를 반환합니다. 기본 URL은 api.site.com/img/this.jpg와 비슷하지만 이미지의 base64 코드를 반환합니다. – user3487657

+0

기본 URL을 반환한다는 것은 무엇을 의미합니까? base_url은 텍스트입니다. {{base_url}}을 (를) 사용 하시겠습니까? – Brian

답변

0

우선이 문제를 해결하려면 범위 변수를 특성에 할당 한 다음 격리 된 범위를 통해 지시문에 전달해야합니다. 이미 동일한 변수에 액세스 할 수 있습니다. 그러나 오류는 지침 자체에 시계를 넣는 것입니다. 그것이 크롬을 깨뜨리는 것입니다.

HTML :

<my-image></my-image> 

JS :

directive('myImage', ['$http' , function ($http) { 
    return { 
    restrict: 'E', 
    replace: true, 
    link: function (scope, element, attrs) { 
     $http.get(scope.base_url, { 
      headers: { 
      'Authorization': 'Bearer ' + scope.token 
      } 
     }).success(function (data) { 
      element.append('<img src="'+data+ '" />'); 
     }).error(function (data) { 
     }); 
    } 
    } 
}]); 
+0

만약'{my-image src = "{{base_url}}"토큰 = "{{token}}">'요청이 작동하지 않고 scope.src의 값이 '{{base_url }} ' – user3487657

+0

외부 html 태그 중 하나에 ng-controller = "myController"가 있습니까? 그것이 다른 방법으로 작동한다면 그렇게 할 수 있지만 어떻게 할 수 있는지 보지 못합니다. – Brian

+0

예. {{base_url}}은 (는) 출력 목적으로 만 사용한다고 생각했습니다. – user3487657

관련 문제