2017-11-15 9 views
0

블롭에 저장된 Flash 객체를 사용하려고 시도했지만, URL.createObjectURL에 의해 반환 된 URL을 embed 태그의 src으로 사용하면 브라우저가 파일로 blob을 다운로드합니다 . dataUint8Array의 배열이Blob을 Flash 객체로 사용하기

var blob = new Blob(data, { 
       type: 'application/x-shockwave-flash' 
      }); 

document.body.innerHTML += '<object height="500" width="1000" ><embed height="500" width="1000" src="' + URL.createObjectURL(blob) + '"/></object>' 

,의 각 포함 256 바이트 : 자바 스크립트는 물방울과 object 태그를 생성하는 데 사용 여기

<object height="500" width="1000"> 
    <embed height="500" width="1000" src="blob:http://127.0.0.1:34721/1fa7a01c-25b7-4ad0-ba1d-1ddef61617ce"/> 
</object> 

그리고 :

여기 내 생성 된 HTML의 이진 데이터.

해당 블랍의 유형은 application/x-shockwave-flash이며 원래 .swf 파일 (확인)과 동일합니다. 파일 자체는 Object URL 대신 사용될 때 작동합니다.

내가 읽은 것으로부터, blob을 가리키는 Object URL은 일반 URL이 사용할 수있는 모든 장소에서 사용될 수 있습니다. 이것에 대한 embed 태그는 예외입니까?

+0

이것은 추측입니다. 일반적으로 응답 헤더에서 가져 오는 MIME 유형을 놓칠 수 있는지 궁금합니다. "type ="application을 설정해보십시오./x-shockwave-flash "를 삽입 태그 내부의 속성으로 사용합니다. Flash가 널리 지원되지는 않지만 여러 브라우저에서 동일한 오류인지 테스트 해 볼 수 있습니다. – Radio

+0

@Radio That worked! 수락 할 수 있도록 답으로 게시 할 수 있습니까? – DividedByZero

+0

작성 완료되었습니다. 감사합니다. – Radio

답변

2

embed 태그는 일반적으로 응답 헤더에서 가져 오는 MIME 유형을 누락 할 수 있습니다.

여전히 플래시는 더 이상 널리 지원되지 않으므로 여러 브라우저에서 동일한 오류인지 테스트 해 볼 수 있습니다. "type ="application/x-shockwave-flash "