2015-10-23 21 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); 
相關問題