'create Object'를 실행하지 못했습니다.'URL'의 URL:
Safari에서 아래 표시 오류 발생.
'create Object'를 실행하지 못했습니다.'URL'의 URL' : 제공된 서명과 일치하는 함수를 찾을 수 없습니다.
내 코드:
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);
}
}
}
}
raw data를 전달했을 때도 같은 에러가 발생했습니다.createObjectURL
:
window.URL.createObjectURL(data)
반드시 a여야 한다.Blob
,File
또는MediaSource
오브젝트, 데이터 자체가 아닙니다.이 방법은 효과가 있었습니다.
var binaryData = [];
binaryData.push(data);
window.URL.createObjectURL(new Blob(binaryData, {type: "application/zip"}))
상세한 것에 대하여는, MDN 도 참조해 주세요.
갱신하다
옛날에는 이 시스템을createObjectURL()
메서드를 지정합니다.사양 및 브라우저에 의해 이 용도는 삭제되었습니다.
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 를 참조해 주세요.
이 오류는 함수가createObjectURL
Google Chrome용 미디어 스트림 개체를 더 이상 허용하지 않습니다.
이것을 변경했습니다.
video.src=vendorUrl.createObjectURL(stream);
video.play();
다음과 같이 입력합니다.
video.srcObject=stream;
video.play();
이건 나한테 효과가 있었어.
사용되지 않는 기술을 사용했기 때문에 코드가 깨졌습니다.이전에는 다음과 같았습니다.
video.src = window.URL.createObjectURL(localMediaStream);
video.play();
그리고 나는 그것을 이것으로 대체했다.
video.srcObject = localMediaStream;
video.play();
그것은 훌륭하게 작동했다.
편집: 최근localMediaStream
폐지되어 로 대체되었습니다.MediaStream
최신 코드는 다음과 같습니다.
video.srcObject = new MediaStream();
참고 자료:
- 권장되지 않는 기술: https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
- 최신 권장되지 않는 기술: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
- 최신 기술: https://developer.mozilla.org/en-US/docs/Web/API/MediaStream
폴백이 있는 비디오:
try {
video.srcObject = mediaSource;
} catch (error) {
video.src = URL.createObjectURL(mediaSource);
}
video.play();
송신원: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
Media Stream에서도 같은 오류가 발생하였습니다.솔루션은 srcObject로 스트림을 설정합니다.
문서에서:
중요:미디어 요소에 스트림을 부가하기 위해 createObjectURL()에 의존하는 코드가 아직 있는 경우 단순히 srcObject를 MediaStream에 직접 설정하도록 코드를 업데이트해야 합니다.
문제는 루프에 제공된 키가 파일의 인덱스를 참조하지 않는다는 것입니다.
for (var i in this.files) {
console.log(i);
}
상기 코드의 출력은 다음과 같습니다.
0
length
item
그러나 예상된 것은 다음과 같습니다.
0
1
2
etc...
그런 다음 브라우저가 실행을 시도할 때 다음과 같은 오류가 발생합니다.
window.URL.createObjectURL(this.files["length"])
이하의 코드에 근거해 실장하는 것을 추천합니다.
var files = this.files;
for (var i = 0; i < files.length; i++) {
var file = files[i],
src = (window.URL || window.webkitURL).createObjectURL(file);
...
}
이게 누군가에게 도움이 되었으면 좋겠어요.
반가워요!
Ajax를 Ajax 할 수 .xhrFields: { responseType: 'blob' }
:
$.ajax({
url: 'yourURL',
type: 'POST',
data: yourData,
xhrFields: { responseType: 'blob' },
success: function (data, textStatus, jqXHR) {
let src = window.URL.createObjectURL(data);
}
});
각도를 사용하는 경우 이 튜토리얼이 유용합니다. 링크.단, 다음 행을 교체해야 합니다.
this.video.src = window.URL.createObjectURL(stream);
createObjectURL()은 MediaStream의 chrome에서는 사용되지 않기 때문입니다.
this.video.srcObject = stream;
몇 가지 시도를 했지만, 저는 단순히 스트림을 src에 할당하는 것만으로 충분했습니다.
video.srcObject=stream;
//my code was:
this._videoEl = videoEl;
navigator.mediaDevices.getUserMedia({
video : true
}).then(stream => {
this._videoEl.src = URL.createObjectURL(stream);
this._videoEl.play();
}).catch(err => {
console.log(err);
});
//and replace to this worked for me :
this._videoEl = videoEl;
navigator.mediaDevices.getUserMedia({
video : true
}).then(stream => {
this._videoEl.srcObject = stream;
this._videoEl.play();
}).catch(err => {
console.log(err);
});
GitHub에서 최신 버전을 다운로드하여 수정했습니다.
언급URL : https://stackoverflow.com/questions/27120757/failed-to-execute-createobjecturl-on-url
'source' 카테고리의 다른 글
Mac OS X에서 MySQL을 제거하려면 어떻게 해야 합니까? (0) | 2022.10.01 |
---|---|
날짜에 일수 추가 (0) | 2022.10.01 |
다른 디바이스의 IP 주소로 Vue 프로젝트에 액세스할 수 없습니다.vue cli 3 npm (0) | 2022.09.27 |
Mariadb의 동적 열 필드에서 중첩된 개체를 추출합니다. (0) | 2022.09.27 |
두 사전을 하나의 식에 병합하려면 어떻게 해야 합니까? (1) | 2022.09.27 |