将Blob用作Flash对象

时间:2017-11-15 15:24:54

标签: javascript html flash ecmascript-6

我正在尝试使用存储在blob中的Flash对象,但是我使用@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //this is line 23 from the stacktrace ... 返回的URL作为embed标记的URL.createObjectURL的方法只会导致浏览器将blob下载为文件。

这是我生成的HTML:

src

这里用于生成Blob和<object height="500" width="1000"> <embed height="500" width="1000" src="blob:http://127.0.0.1:34721/1fa7a01c-25b7-4ad0-ba1d-1ddef61617ce"/> </object> 标记的JavaScript:

object

其中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>' data的数组,每个数组包含256个字节的二进制数据。

有问题的blob的类型为Uint8Array,与原始的application/x-shockwave-flash文件相同(我检查过)。用于代替对象URL时,文件本身可以正常工作。

根据我的阅读,指向blob的Object URL可以在普通URL的任何地方使用。嵌入标签是否是例外?

1 个答案:

答案 0 :(得分:2)

embed标签可能会错过通常从响应标头获取的mime类型。尝试设置&#34;输入=&#34; application / x-shockwave-flash&#34;作为嵌入代码中的属性。

尽管如此,Flash还没有得到广泛支持,我会在浏览器之间进行测试,看看它是否是同样的错误。您可能需要将类型添加到旧版浏览器中的object标记。