Search...
FAQs
Subscribe
Pie
FAQs
Recent topics
Flagged topics
Hot topics
Best topics
Search...
Search within Applets
Search Coderanch
Advance search
Google search
Register / Login
Post Reply
Bookmark Topic
Watch Topic
New Topic
programming forums
Java
Mobile
Certification
Databases
Caching
Books
Engineering
Micro Controllers
OS
Languages
Paradigms
IDEs
Build Tools
Frameworks
Application Servers
Open Source
This Site
Careers
Other
Pie Elite
all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Campbell Ritchie
Tim Cooke
Ron McLeod
paul wheaton
Jeanne Boyarsky
Sheriffs:
Paul Clapham
Devaka Cooray
Saloon Keepers:
Tim Holloway
Roland Mueller
Himai Minh
Bartenders:
Forum:
Applets
error in sending image from applet to servlet
Hare Shiva
Greenhorn
Posts: 12
posted 12 years ago
Number of slices to send:
Optional 'thank-you' note:
Send
i have following
applet
code that i found in internet and modified as required
package Upload; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; import java.applet.Applet; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.logging.Level; import java.util.logging.Logger; import javax.imageio.ImageIO; /** * * @author Computer */ public class appFinal extends Applet { /** * Initialization method that will be called after the applet is loaded * into the browser. */ @Override public void init() { File file = new File("C:\\Users\\Computer\\Desktop\\client\\screenlg18.jpg"); try { BufferedImage image = ImageIO.read(file); sendToServletOne(image); } catch (Exception ex) { ex.printStackTrace(); } } // TODO overwrite start(), stop() and destroy() methods public void sendToServletOne(BufferedImage bi) throws Exception{ try { System.out.println("Sending the image data"); String urlPath = "http://localhost:8080//test//Final"; URL url = new URL(urlPath); URLConnection conn = url.openConnection(); if (conn instanceof HttpURLConnection) { ((HttpURLConnection)conn).setRequestMethod("POST"); } else { throw new Exception("this connection is NOT an HttpUrlConnection connection"); } conn.setUseCaches(false); conn.setDefaultUseCaches (false); conn.setDoOutput(true); conn.setDoInput(true); conn.setRequestProperty ("Content-Type", "application/octet-stream"); conn.connect(); OutputStream out = conn.getOutputStream(); InputStream ins = conn.getInputStream(); ByteArrayOutputStream os = new ByteArrayOutputStream(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os); encoder.encode(bi); byte[] outBuffer = os.toByteArray(); if(outBuffer != null) System.out.println("in send to Servlet "+outBuffer.length); InputStream in = new ByteArrayInputStream(outBuffer); int BUF_SIZE = 512; int bytesRead = 0; byte[] buffer = new byte[BUF_SIZE]; FileOutputStream fos = new FileOutputStream("C:\\Users\\Computer\\Desktop\\client\\screen123.jpg"); while ((bytesRead = in.read(buffer, 0, BUF_SIZE)) > -1) { fos.write(buffer, 0, bytesRead); out.write(buffer, 0, bytesRead); System.out.println("client while"); System.out.println("count "+bytesRead); } out.flush(); out.close(); }catch(Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); } } }
and the
servlet
part
package servlet; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.io.FilenameUtils; /** * * @author Computer */ package servlet; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.URLDecoder; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * * @author Computer */ public class Final extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); // PrintWriter out = response.getWriter(); try { System.out.println("Here"); System.out.println("in Cam servlet do post"); System.out.println("getting the image from applet"); System.out.println("Request Content Type "+request.getContentType()); System.out.println("Request Content Type "+request.getContentLength()); //resp.setContentType(req.getContentType()); File filename = new File("C:\\Users\\Computer\\Desktop\\client\\screen.jpg"); FileOutputStream out = new FileOutputStream(filename); InputStream in = request.getInputStream(); byte[] buf = new byte[512]; int nread = 0, total_read = 0; while ((nread =in.read(buf))>-1) { System.out.println("Count"); total_read += nread; out.write(buf, 0, nread); } System.out.println("bytes read " + total_read); out.close(); in.close(); } finally { //out.close(); } } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }
i receive 0 bytes in servlet.Anyone please help me.
Consider Paul's
rocket mass heater
.
reply
reply
Bookmark Topic
Watch Topic
New Topic
Boost this thread!
Similar Threads
web service integration using Netbeans IDE
HTTP method GET is not supported by this URL
Uploading Image from Java Desktop App to Server
sending email in servlet
New Servlet, Has a One Errors on it
More...