2014-11-29 1 views

답변

0

나는 다음과 같은 조치를 취할 것입니다이 문제를 해결하려면 API 요청

var promise = $http.post('api/admin/ecs/singleecs', data). 
     success(function (response) { 
      //trigger file download 
    }) 

PHP :

  1. 이 페이지에 요소를 숨겨 작성합니다.

    <a id="fileDownloadLink" ng-hide="true" ng-href={downloadUrl} /> 
    
  2. 다음 코드를 사용하여 다운로드 URL을 설정하고 다운로드를 트리거하십시오.

    $scope.downloadUrl = response.data.fileName; 
    
    var fileDownloadLink = document.getElementById("fileDownloadLink"); 
    fileDownloadLink.target = "_blank"; // Opens the file in a new window. 
    fileDownloadLink.click();  
    
+0

코드 :이 여기에 예시 된 jQuery를 패턴의 각 버전입니다 도움이되었다, 나는 그것을 수정해야했다. 지금 나는/home/abel/pro/public/sample.zip'라는 URL을 가지고 있는데, http : // localhost : 8000/home/abel/pro/public/sample.zip'을 클릭하면 제거 할 수 있습니다. localhost : 8000이 laravel php에 제공되었습니다 –

+0

응답 객체가 무엇을 반환하는지 알려주시겠습니까? – ACOMIT001

+0

생성 된 파일의 경로를 반환합니다. –

0

당신은 다운로드를 실행하는 데 $window.location를 사용할 수 있습니다.

var promise = $http.post('api/admin/ecs/singleecs', data) 
        .then(function (response) { 
        $window.location = response.resource_url; 
        }); 

: 다음 resource_url의 응답 헤더에 있습니다 경우에만 "첨부 파일 내용 - 처리"이것은 작동 https://stackoverflow.com/a/11620720/271178

관련 문제