2015-10-23 20 views
0

我已经尝试过这样的事情,但我很确定这是一种错误的方式。如何使用Liferay从URL上传个人资料图片?

BufferedImage bufferedImage = ImageIO.read(new URL(pictureUrl)); 
long portraitId = CounterLocalServiceUtil.increment(Image.class.getName()); 
Image portraitImage = ImageLocalServiceUtil.createImage(portraitId); 
DataBufferByte data = (DataBufferByte) bufferedImage.getRaster().getDataBuffer(); 
portraitImage.setTextObj(data.getData()); 
Image image = ImageLocalServiceUtil.addImage(portraitImage); 

有人告诉我,我应该使用Document和媒体portlet,但它被用于后端?

回答

0

我已经找到了答案,它完美的作品对我来说:

BufferedImage bufferedImage = ImageIO.read(new URL(pictureUrl)); 
ByteArrayOutputStream os = new ByteArrayOutputStream(); 
ImageIO.write(bufferedImage, "jpg", os); 
InputStream is = new ByteArrayInputStream(os.toByteArray()); 
byte[] bytes = FileUtil.getBytes(is); 
UserLocalServiceUtil.updatePortrait(userId, bytes); 
相关问题