Salve a tutti ho un browser client scritto in java e da questo dovrei mandare un immagine ad una servlet. Fino a questo momento ho scritto questo:
//Questo è il client che effettua la chiamata
url = new URL("http://localhost:8080/esempio1/caricaRisultato");
connection = (HttpURLConnection)url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod("POST");
connection.setAllowUserInteraction(true);
connection.setRequestProperty("Content-Type", "multipart/form-data;");
out = new PrintWriter(connection.getOutputStream());
String outFileName = "scr1.png";
// determine current screen size
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
Rectangle screenRect = new Rectangle(screenSize);
// create screen shot
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRect);
// save captured image to PNG file
ImageIO.write(image, "png", new File(outFileName));
FileInputStream fs = new FileInputStream(outFileName);
out.println("id="+leggiId()+"&ip="+InetAddress.get LocalHost()+"&tipoOp=schermatax&risultato="+fs);
out.close();
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
connect("http://localhost:8080/esempio1/init");
//Questa è la servlet:
DiskFileUpload fileUpload = new DiskFileUpload();
List list = null;
try{
list = fileUpload.parseRequest((HttpServletRequest) request);}
catch(FileUploadException ex){throw new ServletException("Wrapped",ex);}
Iterator iter = list.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
File itemFile = new File(item.getName());
File destDir = new File(getServletContext().getRealPath("/")
+"stored");
if(!destDir.exists()) {
destDir.mkdirs();
}
File destFile = new File(getServletContext().getRealPath("/")
+"stored"+File.separator+itemFile.getName());
try
{
item.write(destFile);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
Cosa sbaglio?
Qualcuno ha già del codice pronto??
Grazie a tutti!