Est-il possible de télécharger de l'image sur le serveur sans soumettre le formulaire?

J'ai un champ de fichier dans ma forme.

Je souhaite que l'utilisateur puisse choisir une image, appuyez sur OK, puis sans soumettre le formulaire, prévisualisez l'image de manière plus réduite. Si tout est satisfaisant de l'utilisateur, appuyez sur Envoyer et l'image ainsi que le formulaire est soumis …

Comment les bons professionnels devraient-ils faire cela essentiellement?

Merci

Vous devez soumettre au moins un formulaire pour télécharger le fichier et l'afficher. Vous pouvez simuler un téléchargement Ajax en utilisant un iframe .

Vous voudrez peut-être avoir une idée de ce qui suit:

http://www.atwebresults.com/php_ajax_image_upload/

Je pense que la meilleure méthode serait:

  1. L'utilisateur appuie sur le bouton OK, une requête AJAX est faite en arrière-plan pour soumettre le formulaire qui téléchargerait l'image dans un emplacement temporaire, sans que l'utilisateur le sache. La demande vous renverrait l'emplacement des fichiers temporaires.
  2. Ensuite, vous pouvez afficher l'image redimensionnée à l'utilisateur et, s'ils sont satisfaits, ils peuvent choisir de soumettre le formulaire et de télécharger l'image originale.

Voici un article qui pourrait également vous aider

Lorsque vous avez téléchargé l'image une fois, il est inutile de la télécharger une deuxième fois, vous pouvez également conserver la copie déjà sur le serveur, pourvu que vous ayez un moyen de l'associer au formulaire une fois envoyé ou enlevé Si le formulaire n'est jamais soumis.

Le nettoyage des images téléchargées est un problème que vous devrez résoudre de toute façon. Une fois que vous avez téléchargé l'image, le serveur devra le garder, car le navigateur devra demander l'image dans une deuxième demande pour pouvoir l'afficher.

Je ferais alors ceci:

  • Avoir un formulaire distinct pour l'image (s), assurez-vous qu'il inclut un champ d'identification afin que vous puissiez les attacher ensemble.
  • Le formulaire de l'image s'effectue automatiquement en utilisant AJAX dans le cadre d'un événement onchange sur le champ du fichier.
  • Lorsque l'appel AJAX réussit, ajoutez un élément img à votre page pour afficher l'image téléchargée.
  • Soumettez le reste du formulaire séparément.

Nettoyez les images téléchargées que vous ne voulez pas (disons que l'utilisateur ajoute quelques images, puis ferme le navigateur sans soumettre le formulaire principal), est une question distincte, et la façon dont vous l'affaire dépendra du type d'application Vous développez.

Vous pouvez utiliser la balise pour cela.

Fondamentalement, vous mettez votre champ de téléchargement sur un iframe. Lorsqu'un utilisateur télécharge une image, l'iframe est rechargé, mais pas la page entière, en attendant du côté du serveur, vous devez redimensionner.