Javascript 如果在Chrome上运行,createObjectURL将不起作用

Javascript 如果在Chrome上运行,createObjectURL将不起作用,javascript,html,canvas,websocket,Javascript,Html,Canvas,Websocket,各位好, 我尝试从websocket服务器(在.NET中)检索图像 我以字节的形式发送图像,然后在客户端检索图像, 用于在客户端检索的代码(使用画布和JavaScript): 它完美地显示了firefox上的图片, 但在Chrome上,它只是返回未定义的图像,不会通过createObjectURL加载图像 我使用的是Chrome 18.0.1025.162 有什么想法吗?来自: 此方法在Chrome和Webkit中的前缀为window.webkitURL.createObjectURL() 您应

各位好,

我尝试从websocket服务器(在.NET中)检索图像 我以字节的形式发送图像,然后在客户端检索图像, 用于在客户端检索的代码(使用画布和JavaScript):

它完美地显示了firefox上的图片, 但在Chrome上,它只是返回未定义的图像,不会通过createObjectURL加载图像 我使用的是Chrome 18.0.1025.162

有什么想法吗?

来自:

此方法在Chrome和Webkit中的前缀为
window.webkitURL.createObjectURL()

您应该测试
URL
是否存在,然后使用适当的对象:

(window.URL ? URL : webkitURL).createObjectURL(evt.data);

我希望我早一点看到这个,让我在手机上工作了大约10个小时。谢谢当我尝试这一点时,我仍然得到一个404找不到我的blob,并且得到一个额外的
“webkitURL”是不推荐的。请改用“URL”。
-我相信这里的回答解释了原因-@JonathanBasile我的答案是从
webkitURL
测试出来的,并使用它(用
URL
作为后备方案)。我刚刚将其更改为默认使用
URL
,并将
webkitURL
用作备用。这样行吗?如果没有,您可能错误地使用了
createObjectURL
(或者违反了某些安全假设),你应该提出一个新问题。我想我的问题实际上是我在本地主机上测试-这显然是chrome禁止的-我还没有在运行在
localhost上的internetA本地服务器上测试它(但可能有某种规则反对它?)。另一方面,出于安全原因,
文件:
URL可能会失败,就像许多其他新API一样。
(window.URL ? URL : webkitURL).createObjectURL(evt.data);