如何解决未能在“URL”上执行“createObjectURL”:
当我将原始数据传递给时,我遇到了同样的错误createObjectURL
:
window.URL.createObjectURL(data)
它必须是一个或对象Blob
,而不是数据本身。这对我有用:File``MediaSource
var binaryData = [];
binaryData.push(data);
window.URL.createObjectURL(new Blob(binaryData, {type: "application/zip"}))
查看 MDN 了解更多信息:https ://developer.mozilla.org/en- US/docs/Web/API/URL/createObjectURL
过去我们还可以createObjectURL()
对 MediaStream 对象使用方法。规范和浏览器已经放弃了这种使用。
如果您需要将 MediaStream 设置为 HTMLMediaElement
的源,只需将MediaStream
对象直接附加到srcObject
HTMLMediaElement 的属性,例如<video>
元素。
const mediaStream = new MediaStream();
const video = document.getElementById('video-player');
video.srcObject = mediaStream;
但是,如果您需要使用MediaSource
,Blob
或File
,您仍然需要创建一个blob://
URLURL.createObjectURL()
并将其分配给HTMLMediaElement.src
.
在此处阅读更多详细信息:https ://developer.mozilla.org/en- US/docs/Web/API/HTMLMediaElement/srcObject
解决方法
在 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);
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。