Y a-t-il un problème lors de l'utilisation du codage base64 pour télécharger ( télécharger uniquement ) l'image sur le serveur? Compte tenu de la taille d'image courante d'environ 1 à 2 Mo, et non des images de la taille d'une icône. Est-ce une mauvaise pratique? Doit-il toujours utiliser des données de formulaire pour le téléchargement d'images?
L'image serait envoyée dans un corps POST (type de contenu JSON) avec d'autres données, comme:
// POST /signup { email: 'example@email.com', password: 'example@email.com', name: 'Example Name', picture: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAA...', }
Une fois dans le serveur, il serait envoyé au bucket AWS et servi sous la forme d'un fichier binaire, et non d'une chaîne encodée en base64.
3 Réponses :
Les images encodées en Bas64 sont une bonne pratique pour les images de petite taille (Ko). Pour une image de plus grande taille, vous obtiendrez probablement des erreurs de taille.
Bien que si vous souhaitez utiliser des images de taille (Mo), je suggère de les passer sous forme de vignette.
Les miniatures sont des versions de taille réduite d'images ou de vidéos, utilisées pour aider à les reconnaître et à les organiser, jouant le même rôle pour les images qu'un index de texte normal pour les mots
Le résultat généralement accepté de l'encodage Base64 d'une image binaire est un résultat environ 30% supérieur à l'original. Si la limite du serveur est de 2 Mo, vous êtes effectivement limité à une image de 1,4 Mo lorsque vous l'augmentez via l'encodage. Base64 n'est pas une méthode de compression, c'est juste une méthode pour obtenir des données binaires vers un serveur via HTTP
.
Si vous avez le contrôle du serveur, faites-le accepter à la place des données binaires compressées gzip, ou si vous pouvez placer l'image quelque part, envoyez-en l'URL dans la requête et le serveur pourra la télécharger.
Oui, je pense que vous pouvez utiliser base64
pour télécharger une image, car vous utilisez l'api dans votre application. Vous devez convertir en image physique et obtenir le nom du fichier et le stocker dans votre base de données.
Veuillez ajouter quelques détails supplémentaires sur l'implémentation que vous souhaitez afin que nous sachions mieux à quel point il est approprié d'utiliser base64: est-ce une grande ou une petite image? Comment allez-vous effectuer le téléchargement? (ajax, données de formulaire, etc.)
@MarcSances Vous avez raison. Fixé.