Erreur d'affichage ci-dessous dans Safari.
Échec de l'exécution de 'createObjectURL' sur 'URL': aucune fonction correspondant à la signature fournie n'a été trouvée.
Mon code est:
function createObjectURL(object) {
return (window.URL) ? window.URL.createObjectURL(object) : window.webkitURL.createObjectURL(object);
}
Ceci est mon code pour l'image:
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
la source
la source
createObjectURL(...)
fonction lorsque vous obtenez cette erreur?window.URL.createObjectURL('broken')
jette une erreur:Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
Réponses:
METTRE À JOUR
Pensez à éviter la
createObjectURL()
méthode, pendant que les navigateurs désactivent sa prise en charge. Attachez simplement l'MediaStream
objet directement à lasrcObject
propriété deHTMLMediaElement
eg<video>
element.Cependant, si vous devez travailler avec
MediaSource
,Blob
ouFile
, vous devez créer une URL avecURL.createObjectURL()
et l'attribuer àHTMLMediaElement.src
.Lisez plus de détails ici: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
Réponse plus ancienne
J'ai rencontré la même erreur, lorsque je suis passé aux
createObjectURL
données brutes:Il doit être
Blob
,File
ouMediaSource
objet, pas des données elles-mêmes. Cela a fonctionné pour moi:Consultez également le MDN pour plus d'informations: https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
la source
URL.createObjectURL()
pour les flux multimédias. Cependant, il n'indique PAS de ne pas l'utiliser pour une entrée de fichier comme indiqué dans la question initiale.Cette erreur est due au fait que la fonction
createObjectURL
est obsolète pour Google ChromeJ'ai changé ceci:
pour ça:
Cela a fonctionné pour moi.
la source
Mon code était cassé car j'utilisais une technique obsolète. C'était ça:
Ensuite, j'ai remplacé cela par ceci:
Cela a fonctionné à merveille.
EDIT: Récemment,
localMediaStream
a été obsolète et remplacé parMediaStream
. Le dernier code ressemble à ceci:Références:
la source
J'ai eu la même erreur pour le MediaStream. La solution est de définir un flux vers le srcObject.
À partir de la documentation :
la source
Vidéo avec repli:
De: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
la source
Le problème est que les clés fournies dans la boucle ne font pas référence à l'index du fichier.
La sortie du code ci-dessus est:
Mais ce qui était attendu était:
Ensuite, l'erreur se produit lorsque le navigateur tente de s'exécuter, par exemple:
Je suggère une implémentation basée sur le code suivant:
J'espère que cela peut aider quelqu'un.
Salutations!
la source
Si vous utilisez ajax, il est possible d'ajouter les options
xhrFields: { responseType: 'blob' }
:la source
Je l'ai corrigé en téléchargeant la dernière version à partir de l' url GgitHub GitHub
la source