2016-07-01 4 views
0

내 pdf를 표시하는 데 문제가 있습니다. 바이트 배열로 파일 데이터를 가져옵니다. 이것은 내가 지금 가지고있는 것입니다 :배열에서 Blob BLOB 만들기

// data is originally String {0: % 1:P 2:D ...} 
    const byteArray = _.map(data); // ["%", "P", "D", "F", "-", "1", ".", "4", "↵", ...] 
    const blob = new Blob(byteArray, {type: 'application/pdf'}); 
    const blobURL = URL.createObjectURL(blob); 
    window.open(blobURL), 

로그 할 때 블롭이 나타나고 적절한 길이와 모든 것이 있습니다. 어떤 이유로 pdf가 열리지 만 비어 있습니다. 탭의 머리말 만 맞습니다 (그래서 뭔가 올바르게 있어야합니다). 데이터를 가져온 백엔드에 오류가있을 가능성이 있지만 액세스 권한이 없으므로 확실하지 않습니다. 필요한 경우 백엔드에서 데이터를 전송하는 데 더 좋은 형식을 제안 할 수도 있습니다.

데이터가 원래 형식으로 잘못 표시 될 수 있습니까?

편집 : 나는 우체부와 요청을 수행 할 때

는, 내가 요청 설정에 responseType = 'arraybuffer'를 추가하여 문제를 해결 내게 아무것도

답변

0

을하지 않고 파일을 제대로 표시합니다. 그 후에 이것은 잘 돌아갔다.

const blob = new Blob([byteArray], {type: 'application/pdf'}); 
const blobURL = URL.createObjectURL(blob); 
window.open(blobURL) 
관련 문제