Maison > interface Web > js tutoriel > Comment puis-je enregistrer un canevas HTML5 en tant qu'image sur un serveur ?

Comment puis-je enregistrer un canevas HTML5 en tant qu'image sur un serveur ?

Linda Hamilton
Libérer: 2024-12-04 08:36:13
original
617 Les gens l'ont consulté

How Can I Save an HTML5 Canvas as an Image on a Server?

Enregistrement d'un canevas HTML5 en tant qu'image sur un serveur

Pour enregistrer un canevas HTML5 en tant qu'image sur un serveur, procédez comme suit :

1. Convertir le canevas en URL de données d'image

var canvasData = canvas.toDataURL("image/png");
Copier après la connexion

2. Créez un objet XMLHttpRequest

var ajax = new XMLHttpRequest();
Copier après la connexion

3. Ouvrez une requête POST et définissez l'en-tête de la requête

ajax.open("POST", "testSave.php", false);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Copier après la connexion

4. Envoyer des données Canvas

ajax.send("imgData=" + canvasData);
Copier après la connexion

5. Gérer la réponse

ajax.onreadystatechange = function() {
  console.log(ajax.responseText);
}
Copier après la connexion

6. Sur le serveur PHP

Recevez les données du canevas et écrivez-les sur le serveur sous forme de fichier PNG :

<?php
if (!empty($_POST['imgData'])) {
  // Convert base64 data to raw data
  $imgData = base64_decode($_POST['imgData']);

  // Set path and open file
  $fp = fopen('/path/to/file.png', 'wb');

  // Write raw data to file and close
  fwrite($fp, $imgData);
  fclose($fp);
}
?>
Copier après la connexion

Notes supplémentaires :

  • Remplacez /path/to/file.png par le chemin de fichier souhaité.
  • Assurez-vous que le répertoire du serveur est accessible en écriture.
  • L'en-tête de requête AJAX peut également être défini sur multipart/form-data si nécessaire.
  • Si l'URL des données d'image contient des caractères non standard, utilisez encodeURIComponent() pour les échapper. .

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal