2017-10-24 2 views
0

어떻게 BLOB 데이터를 변환 할 수 있습니까? application/octet-stream; base64에서 data : image/png; base64?Octet-stream to PNG

이미지가 표시되지만 브라우저에서 마우스 오른쪽 버튼으로 새 탭에서 이미지를 열지 못하게합니다. 그것은 매우 긴 URL의 경우

$http({ 
    url: image, 
    responseType: 'blob' 
}).then((resp)=>{ 
    var reader = new FileReader(); 
    reader.onload = function(){ 
     $scope.model.view.image = reader.result; 
    }; 
    reader.readAsDataURL(resp.data); 
}); 
+0

'result.replace (사용 ... 문제가 될 것입니다, base64로 사용하지 마십시오 '데이터 : 응용 프로그램/octet-stream을'을, 'data : image/png')'? –

+0

하하, 분명히 아니요 –

+0

왜 안 되니? https://jsfiddle.net/cb78q272/ –

답변

1

대신 URL.createObjectURL

window.URL = window.URL || window.webkitURL 

$http({ 
    url: image, 
    responseType: 'blob' 
}).then(blob => { 
    // change the type 
    blob = new Blob([blob], {type: 'image/png'}) 
    $scope.model.view.image = URL.createObjectURL(blob) 
}) 
+0

네, 잘 작동하고 있습니다. 그러나 "새 탭에서 이미지 열기"옵션은 새 탭에 URL을 붙여 입력 한 경우에만 작동하지 않습니다. 나는 그것을 해결할 방법을 찾으려고 노력할 것이다. 고맙습니다 :) –