programing

자바스크립트:바이트 배열의 새 탭에서 PDF 열기

javajsp 2023. 10. 16. 21:30

자바스크립트:바이트 배열의 새 탭에서 PDF 열기

앵귤러를 쓰고 있습니다.외부 API 호출을 위한 HTTP 리소스가 있는 JS이며, 제 응답은 바이트 배열입니다.이 바이트 배열을 새 창에서 PDF로 바꿔야 합니다.브라우저를 넘나들거나 순수 자바스크립트로 작동하는 아주 좋은 솔루션은 여기서 본 적이 없습니다.이것을 할 방법이 방법이 있습니까?

여기 내 코드가 있습니다.

자바스크립트

Document.preview({id: $scope.order.id}, function(data){

    // Open PDF Here
    var file = new Blob([data], {type: 'application/pdf'});
    var fileURL = URL.createObjectURL(file);
    window.open(fileURL);

});

서비스 콜에서 responseType을 전달해야 합니다.

$http.post('/Service-URL', dataTO, {responseType: 'arraybuffer'});

그러면 데이터 통화가 성공하면 새 창에 pdf가 열립니다:-

    getDocument()
        .success(function(data) {
            var file = new Blob([data], { type: 'application/pdf' });
            var fileURL = URL.createObjectURL(file);
            window.open(fileURL);
    })

이 답변에서 :- https://stackoverflow.com/a/21730535/3645957 by https://stackoverflow.com/users/2688545/michael

만약 누군가가 여전히 그것을 찾고 있다면, 여기에 제가 하고 있는 일이 있습니다.

var pdfAsDataUri = "data:application/pdf;base64,"+byteArray;
window.open(pdfAsDataUri);

여기서 byteArray는 수신되는 데이터입니다.좋은 솔루션은 아닐 수도 있지만(바이트 배열은 URL에 표시됨) 작동합니다.

언급URL : https://stackoverflow.com/questions/28197179/javascript-open-pdf-in-new-tab-from-byte-array