Maison  >  Article  >  interface Web  >  Comment convertir une URL d'objet en blob ou en fichier pour FormData ?

Comment convertir une URL d'objet en blob ou en fichier pour FormData ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 22:30:03472parcourir

How to Convert an Object URL to a Blob or File for FormData?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn