Upgrading to the latest restlet snapshot solved the case. Thanks Lokendra
On Mon, Jun 6, 2011 at 6:25 PM, Jerome Louvel <jerome.lou...@noelios.com>wrote: > Hi Lokendra, > > > > The internal connector on the 2.1 snapshot isn’t fully stable yet. I > suggest pluging Jetty or Simple extensions for now. That should help here. > > > > Best regards, > Jerome > -- > Restlet ~ Founder and Technical Lead ~ > http://www.restlet.org<http://www.restlet.org/> > Noelios Technologies ~ http://www.noelios.com > > > > > > > > > > *De :* Lokendra Singh [mailto:lsingh....@gmail.com] > *Envoyé :* dimanche 5 juin 2011 16:23 > *À :* discuss@restlet.tigris.org > *Objet :* Re: Using FileUpload Extension: Uploaded images are > corrupt/distorted/lesser size > > > > Hi, anyone on this issue. Is this a bug I am facing? > > > Regards > Lokendra > > On Fri, Jun 3, 2011 at 2:46 PM, Lokendra Singh <lsingh....@gmail.com> > wrote: > > Hi, > > The problem occurs with text Files (with the pieces of text misplaced) as > well and not just binary data. > The users of this extension, please throw some light ! > > Regards > Lokendra > > > > On Thu, Jun 2, 2011 at 4:16 PM, Lokendra Singh <lsingh....@gmail.com> > wrote: > > > > Hi, > > I am not able to properly upload an image file (binary) to the Restlet > server using the Filepload extension. The uploaded images are either > corrupt/distorted looking or they are of lesser size than original. > I have tried using both FileItem.write(File f) method & using the > InputStream. > Are there any special properties/methods to be set for uploading a binary > data ? > > I have been using curl to upload the image with the following command > curl -F "upload=@img.jpg;type=image/jpg;filename=img.jpg" http://localhost > :.... > > One strange behavior is that, when in the curl command, the type parameter > is changed to image/jpeg, the uploaded image is still corrupt & distorted > but looks differently in the picture manager than the one uploaded with > image/jpg. > Please help. > > PS: The versions of different libs used: > restlet-2.1-SNAPSHOT > commons-fileupload-1.2.1/1.2.2 (both tested) > commons-io-1.3.1 > servlet-api-2.4 > portlet-api-1.0 > > Following is the code snippet. > > DiskFileItemFactory factory = new DiskFileItemFactory(); > factory.setSizeThreshold(1000240); > RestletFileUpload upload = new RestletFileUpload(factory); > List<FileItem> items = upload.parseRequest(getRequest()) > . > . > for (final Iterator<FileItem> it = items.iterator(); it.hasNext();) { > DiskFileItem fi = (DiskFileItem) it.next(); > // Process the items that *really* contains an uploaded > // file and save them on disk > if (fi.getName() != null) { > > InputStream is = fi.getInputStream(); > final int size=1024; > byte[] buf; > int ByteRead,ByteWritten=0; > BufferedOutputStream outStream = new BufferedOutputStream(new > FileOutputStream(uploadedFile), size); > buf = new byte[size]; > while ((ByteRead = is.read(buf, 0, size)) != -1) { > outStream.write(buf, 0, ByteRead); > ByteWritten += ByteRead; > } > outStream.flush(); > outStream.close(); > is.close(); > > //fi.write(uploadedFile) > > } > > Regards > Lokendra > > > > > ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2759434