PDA

View Full Version : تبدیل Byte[] به عکس



ali-baba
سه شنبه 12 خرداد 1394, 11:45 صبح
سلام...
ببخشید که این موضوع رو اینجا مطرح می کنم...
ولی وقتی با کد زیر یه عکس رو تویه یه برنامه اول به بایت و بعد به عکس بر می گردونم... هیچ مشکلی نداره...
ولی همین که اول عکس رو به بایت ارری و سپس با وب سرویس به کلایت ارسال می کنم و در کلاینت بایت ارری رو به عکس می خوام تبدیل کنم ارور میده...
این کد:

String dirName = "C:\\image\\"; System.out.println("dirName : " + dirName);
ByteArrayOutputStream baos = new ByteArrayOutputStream();


baos.write(b.getBytes());
System.out.println("baos : " + baos);
String base64String = Base64.encode(baos.toByteArray());
System.out.println("base64String : " + base64String);
baos.flush();
InputStream in = new ByteArrayInputStream(baos.toByteArray());
BufferedImage bImageFromConvert = ImageIO.read(in);
System.out.println(bImageFromConvert);
ImageIO.write(bImageFromConvert, "jpg", new File(dirName, "m.jpg"));
اینم ارور...

B : [B@28062593dirName : C:\image\
baos : [B@28062593
base64String : W0JAMjgwNjI1OTM=
Exception in thread "main" null
java.lang.IllegalArgumentException: image == null!
at javax.imageio.ImageTypeSpecifier.createFromRendere dImage(ImageTypeSpecifier.java:925)
at javax.imageio.ImageIO.getWriter(ImageIO.java:1591)
at javax.imageio.ImageIO.write(ImageIO.java:1520)
at ClientPrimary.main(ClientPrimary.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main (AppMain.java:140)




ممنون میشم کمک کنید...
باتشکر...

ali-baba
سه شنبه 12 خرداد 1394, 14:00 عصر
سلام...
حل شد... مرسی...
باید یادم می موند که مقدار byte[] رو از طریق وب سرویس ارسال کنم... نه مقدار بایت که تبدیل به رشته شده رو...
باتشکر...