在 Safari 中显示下方错误。
无法在“URL”上执行“createObjectURL”:找不到与提供的签名匹配的函数。
我的代码是:
function createObjectURL(object) {
return (window.URL) ? window.URL.createObjectURL(object) : window.webkitURL.createObjectURL(object);
}
这是我的图像代码:
function myUploadOnChangeFunction() {
if (this.files.length) {
for (var i in this.files) {
if (this.files.hasOwnProperty(i)) {
var src = createObjectURL(this.files[i]);
var image = new Image();
image.src = src;
imagSRC = src;
$('#img').attr('src', src);
}
}
}
}
原文由 Hardik Mandankaa 发布,翻译遵循 CC BY-SA 4.0 许可协议
当我将原始数据传递给
createObjectURL
时,我遇到了同样的错误:它必须是
Blob
,File
或MediaSource
对象,而不是数据本身。这对我有用:另请查看 MDN 以获取更多信息: https ://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
更新
过去,我们还可以对 MediaStream 对象使用
createObjectURL()
方法。这种用法已被规范和浏览器删除。如果您需要将 MediaStream 设置为 HTMLMediaElement 的源,只需将
MediaStream
对象直接附加到srcObject
HTMLMediaElement 的属性,例如<video>
However, if you need to work with
MediaSource
,Blob
orFile
, you still have to create ablob://
URL withURL.createObjectURL()
并将其分配给HTMLMediaElement.src
。在此处阅读更多详细信息: https ://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject