Envoyer une image avec Java HTTP
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.imageio.ImageIO;
public class UploadImage {
public static void main(String[] args) {
try {
/* Charge l'image */
Image image = ImageIO.read(new File("image.png"));
/* Conversion de l'image en BufferedImage */
BufferedImage bufferedImageToUpload = (BufferedImage) image;
/* URL vers le serveur PHP */
URL url = new URL("http://127.0.0.1:3000/save-image.php");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
/*
* Options pour la connexion. l'image est envoyée avec
* la méthode POST
*/
connection.setDoOutput(true);
connection.setRequestMethod("POST");
/*
* Envoi de l'objet BufferedImage directement vers le flux de sortie de la
* connexion
*/
ImageIO.write(bufferedImageToUpload, "PNG", connection.getOutputStream());
/* Lecture de la réponse du serveur en UTF-8 */
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF8"));
String ligne;
while ((ligne = reader.readLine()) != null) {
System.out.println(ligne);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
RĂ©ception de l'image avec PHP
<?php
/* Récupération de l'entrée */
$input = file_get_contents("php://input");
/* Création du nom du fichier */
$now = date("Y-m-d-H\hi\ms\s");
$formatted_file_name = "images/" . $now . ".png";
/* Enregistrement du fichier */
file_put_contents($formatted_file_name, $input);
echo "Image reçue";
Commentaires
Enregistrer un commentaire