Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/08/2016, 09:09
smark182
 
Fecha de Ingreso: marzo-2008
Mensajes: 94
Antigedad: 16 aos, 1 mes
Puntos: 3
Guardar imagen recibida dropzone

Hola a todos.

Necesito guardar en disco una imagen subida desde el navegador. Lo que estamos utilizando para enviar los ficheros es el plugin dropzone. El plugin se integra y funciona correctamente el problema es cuando en el servidor intento recuperar la imagen para guardarla en disco.

He hecho cosas parecidas sin ningn problema con ficheros en base 64, esto debera de ser parecido pero me estoy rompiendo la cabeza con algo que debo de estar haciendo mal.

Aadimos la imagen y el plugin lanza la peticin post con lo siguiente.

Cita:
-----------------------------298031368414422
Content-Disposition: form-data; name="file"; filename="bronson.jpg"
Content-Type: image/jpeg

�Exif��II*���������V�������^���(� ������1�*���f���2�������i�������� ����
�����������Adobe Photoshop Lightroom 5.7 (Macintosh)�2015:09:10 20:56:08�������0230�����
������2015:08:28 10:01:04��Photoshop 3.0�8BIM���������������8BIM�����,Z� %G���
>�20150828?� 100104-07008BIM
�������8BIM%�����n_6 @WzlýO XICC_PROFILE��� HLino��mntrRGB XYZ �� ��1��acspMSFT��
��IEC sRGB�������������������-HP �����������������������������������������������cp rt��P���3desc
�����lwtpt�����bkpt�����rXYZ�����gXYZ�� ,���bXYZ��@���dmnd��T���pdmdd�����vued ��L
���view�����$lumi�����meas�� ���$tech��0��� rTRC��<�� gTRC��<�� bTRC��<�� text����Copyright
(c) 1998 Hewlett-Packard Company��desc�������sRGB IEC61966-2.1�����������sRGB IEC61966-2.1�������
�������������������������������������������X YZ ������Q����XYZ ����������������XYZ ������o��8�
�XYZ ������b����XYZ ������$ ����desc�������IEC http://www.iec.ch�����������IEC http://www
.iec.ch������������������������������������������� ���desc�������.IEC 61966-2.1 Default RGB colour space
- sRGB�����������.IEC 61966-2.1 Default RGB colour space - sRGB����������������������desc�������,Reference
Viewing Condition in IEC61966-2.1�����������,Reference Viewing Condition in IEC61966-2.1�����������
���������������view������_.��� �\��� XYZ �����L V�P���Wmeas������������������������
����sig ����CRT curv�����������
�����#�(�-�2�7�;�@�E�J�O�T�Y�^�c�h�m�r�w�|��������� ����������������

%+28>ELRY`gnu|  &/8AKT]gqz
� !-8COZfr~ -;HUcq~

+:IXgw'7HYj{ +=Oat 2FZn
  % : O d y

'
=
T
j





" 9 Q i  * C \ u


&
@
Z
t




.Id %A^z &Ca~1Om&Ed #Cc
'Ij*4Vx&Il Ae@e Ek*Qw
;c*R{Gp@j >i  A l !!H!u!!!"'"U"""#

#8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''(
(?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c2
23
3F3334+4e4455M555676r667$7`7788P88 99B999:6:t::;-;k;;<'<e<<="=a==> >`> >
?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEU EEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrL
MMJMMN%NnNO�OIOOP'PqPQQPQQR1R|RSS_SS TBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[
[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=ee f=ffg=ggh?hhiCiijHjjkOkk
lWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!| |}A}~
~b~#G
k͂0WGrׇ;iΉ3d 0cʍ1fΏ6n֑?zM
_ɖ4
uL$h՛BdҞ@ i ءG&vVǥ8nRĩ7u \
*D*-�u`ֲK³8%yhYѹJ ;.!
zpg_XQKFAǿ=ȼ:ɹ8 ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU
\dlvۀ܊ݖޢ)߯6DSc s
2F[p(@Xr4Pm 8Ww)KmLhttp
://ns.adobe.com/xap/1.0/�<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.5-c002 1.148022, 2012/07/15-18:06:45
">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmpRights:Marked="False"
xmpMM:OriginalDocumentID="xmp.did:a225f730-4f81-4002-af9a-a595e5dccc17"
xmpMM:DocumentID="xmp.did:30709a15-6793-4f65-b425-fb36cadc9bb4"
xmpMM:InstanceID="xmp.iid:30709a15-6793-4f65-b425-fb36cadc9bb4"
xmp:CreatorTool="Adobe Photoshop Lightroom 5.7 (Macintosh)"
xmp:CreateDate="2015-08-28T10:01:04-07:00"
xmp:ModifyDate="2015-09-10T20:56:08-07:00"
xmp:MetadataDate="2015-09-10T20:56:08-07:00"
dc:format="image/jpeg">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:bcfc770f-2378-4e16-830f-1b12d73e3bd5"
stRef:documentID="xmp.did:bcfc770f-2378-4e16-830f-1b12d73e3bd5"
stRef:originalDocumentID="xmp.did:a225f730-4f81-4002-af9a-a595e5dccc17"/>
<xmpMM:History>
<rdf:Seq>
<rdf:li
stEvt:action="saved"


... Los datos de la solicitud superan el tamao lmite de Firebug. ...




EFe}D@DDD@DD舀/扢)6;Y|ʴAFMD2r\DlW4M[rܮh orrܮ%
eEDy"r[ܯ哢h>dh<}'D7<}' D7}dh rrܯ rrE^4Ak
>2h)or-rܾ\D7}*Qc{hU"
vR F_t_QE|_Q ESmU"
vYV(ɱhM" \N[+&-rܜW4_PZ7|7]4Ak2 /W_tArrܯ+ VF ~@7
r4A_|}#D7 } }#DH>DK{K{DyMNS{Z2r]4AoɱAoc/V(؛YV)ɵT
)ښ*4_QE|_Q舀 
 
 ?舀
 
 ?舀
 
 
?舀 
 
?
-----------------------------298031368414422--
Esto mismo lo recupero en el servidor pero todo lo que he intentado para guardar la imagen en disco me ha dado como resultado un archivo de imagen daado.


Este es uno de los cdigos que he hecho para esto.

Cdigo:
ByteArrayDataSource ds = new ByteArrayDataSource (request, "multipart/form-data");
					MimeMultipart multipart = new MimeMultipart(ds);
					for (int i = 0; i < multipart.getCount(); i++) {
						BodyPart bodyPart = multipart.getBodyPart(i);

						System.out.println("body1 : " + bodyPart.getFileName());
						System.out.println("body2 : " + bodyPart.getContentType());

						DataHandler handler = bodyPart.getDataHandler();
						System.out.println("handler : " + handler.getName());
						System.out.println("handler : " + handler.getContentType());

						String curContentType = handler.getContentType();

						if (curContentType.equalsIgnoreCase("application/json")) {
							ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
							handler.writeTo(arrayOutputStream);
							System.out.println("projectsJson : " + arrayOutputStream);
						} else {
							OutputStream outputStream = null;
							String ext = "";
							if (curContentType.equalsIgnoreCase("image/gif")) {
								ext = ".gif";
							} else if (curContentType.equalsIgnoreCase("image/jpeg")) {
								ext = ".jpg";
							}else if (curContentType.equalsIgnoreCase("image/png")) {
								ext = ".png";
							} else if (curContentType.equalsIgnoreCase("image/bmp")) {
								ext = ".bmp";
							} else if (curContentType.equalsIgnoreCase("application/pdf")
									|| (curContentType.equalsIgnoreCase("application/x-pdf"))) {
								ext = ".pdf";
							}

							outputStream = new FileOutputStream("/data/maquina/" + handler.getName() + ext);
							handler.writeTo(outputStream);
							outputStream.flush();
							outputStream.close();
						}


He visto que otros plugins pasan las imgenes o ficheros con el mimos formato, me parece que lo que se enva en el post es unicode pero las conversiones que he hecho no han funcionado.

Necesito su ayuda.

Espero su respuesta.

Un saludo.