Récupération de fichiers ou de blobs à partir d'URL d'objets
Lorsque vous autorisez les utilisateurs à télécharger des images par glisser-déposer ou par d'autres méthodes, l'utilisation de URL.createObjectURL est utilisé pour générer des URL d'objets pour l'affichage d'images. Puisque ces URL sont destinées à être réutilisées, elles n’ont pas besoin d’être révoquées. Cependant, lorsqu'il est nécessaire de créer un objet FormData capable d'accepter l'une de ces images dans le cadre d'un téléchargement de formulaire, des difficultés surviennent lors de la reconversion de l'URL de l'objet en un Blob ou un fichier à inclure dans FormData.
Solution moderne :
En tirant parti des capacités des navigateurs modernes, nous pouvons utiliser l'API fetch() pour récupérer le fichier ou le blob associé à une URL d'objet. Le bloc de code suivant illustre cette technique :
<code class="javascript">let blob = await fetch(url).then(r => r.blob());</code>
Cette solution fonctionne de manière transparente avec les URL d'objet et les URL normales. Une fois le blob obtenu, il peut être ajouté à l'objet FormData, permettant l'inclusion de l'image dans la soumission du formulaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!