Tampilkan kesalahan di bawah di Safari.
Gagal menjalankan 'createObjectURL' di 'URL': Tidak ada fungsi yang cocok dengan tanda tangan yang disediakan.
Kode saya adalah:
function createObjectURL(object) {
return (window.URL) ? window.URL.createObjectURL(object) : window.webkitURL.createObjectURL(object);
}
Ini adalah Kode saya untuk gambar:
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);
}
}
}
}
javascript
createobject
Hardik Mandankaa
sumber
sumber
createObjectURL(...)
fungsi Anda ketika Anda mendapatkan kesalahan itu?window.URL.createObjectURL('broken')
melempar kesalahan:Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
Jawaban:
MEMPERBARUI
Pertimbangkan untuk menghindari
createObjectURL()
metode, sementara browser menonaktifkan dukungan untuknya. Cukup lampirkanMediaStream
objek langsung kesrcObject
propertiHTMLMediaElement
misalnya<video>
elemen.Namun, jika Anda perlu bekerja dengan
MediaSource
,Blob
atauFile
, Anda harus membuat URL denganURL.createObjectURL()
dan menugaskannyaHTMLMediaElement.src
.Baca lebih detail di sini: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
Jawaban Lama
Saya mengalami kesalahan yang sama, ketika saya meneruskan ke
createObjectURL
data mentah:Itu harus
Blob
,File
atauMediaSource
objek, bukan data itu sendiri. Ini bekerja untuk saya:Periksa juga MDN untuk info lebih lanjut: https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
sumber
URL.createObjectURL()
untuk aliran media. Namun itu tidak menyatakan TIDAK untuk menggunakannya untuk input file seperti yang dinyatakan dalam pertanyaan awal.Kesalahan ini disebabkan karena fungsinya
createObjectURL
tidak digunakan lagi untuk Google ChromeSaya mengubah ini:
untuk ini:
Ini berhasil untuk saya.
sumber
Kode saya rusak karena saya menggunakan teknik usang. Dulu ini:
Lalu saya menggantinya dengan ini:
Itu bekerja dengan indah.
EDIT: Baru-baru
localMediaStream
ini telah ditinggalkan dan diganti denganMediaStream
. Kode terbaru terlihat seperti ini:Referensi:
sumber
Saya memiliki kesalahan yang sama untuk MediaStream. Solusinya adalah mengatur aliran ke srcObject.
Dari dokumen :
sumber
Video dengan mundur:
Dari: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
sumber
Masalahnya adalah bahwa kunci yang disediakan dalam loop tidak merujuk ke indeks file.
Output dari kode di atas adalah:
Tapi yang diharapkan adalah:
Kemudian kesalahan terjadi ketika browser mencoba mengeksekusi, misalnya:
Saya menyarankan implementasi berdasarkan kode berikut:
Saya harap ini bisa membantu seseorang.
Salam pembuka!
sumber
Jika Anda menggunakan ajax, dimungkinkan untuk menambahkan opsi
xhrFields: { responseType: 'blob' }
:sumber
Saya memperbaikinya mengunduh versi terbaru dari GgitHub GitHub url
sumber