Maison  >  Article  >  interface Web  >  Comment convertir une URL d'objet en fichier ou en blob pour les soumissions de formulaires ?

Comment convertir une URL d'objet en fichier ou en blob pour les soumissions de formulaires ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 04:31:28489parcourir

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

Récupération d'un fichier ou d'un blob à partir d'une URL d'objet

Lorsque vous travaillez avec des images dans une application Web, il est courant d'utiliser le glisser-déposer. drop ou d’autres méthodes pour permettre aux utilisateurs de télécharger des fichiers. Pour afficher ces images, URL.createObjectURL est généralement utilisé pour les convertir en URL d'objets. Cependant, lorsqu'il s'agit de soumettre ces images dans le cadre d'un formulaire, la question se pose : comment pouvez-vous reconvertir ces URL d'objet en fichier ou en blob et les ajouter à un objet FormData ?

Modern Solution

Les navigateurs modernes offrent une solution simple et efficace :

<code class="javascript">let blob = await fetch(url).then(r => r.blob());</code>

Ce code peut être utilisé pour récupérer un fichier ou un blob à partir d'URL d'objet et d'URL normales. Le paramètre URL peut être l'URL de l'objet créé précédemment.

Une fois que vous avez le Blob, vous pouvez facilement l'ajouter à un objet FormData et soumettre le formulaire. Voici un exemple :

<code class="javascript">// Assume you have the Blob from the object URL
const formData = new FormData();
formData.append('image', blob);

// Submit the form via AJAX or another mechanism
fetch('/upload', {
  method: 'POST',
  body: formData
});</code>

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