1.得到服务器的图像byte[] 以byte[]传输
2.得到服务器的图像byte[] 通过base64编码
3.得到服务器的图像静态地址获取资源
/**
* 根据绝对文件地址 获取文件的字节数据
*
* @param url
* @return
*/
private final byte[] findFileByteArrayByPath(String url) {
byte[] buffer = null;
try {
final File file = new File(url);
final FileInputStream fis = new FileInputStream(file);
final ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
final byte[] b = new byte[1000];
int n;
while ((n = fis.read(b)) != -1) {
bos.write(b, 0, n);
}
fis.close();
bos.close();
buffer = bos.toByteArray();
} catch (FileNotFoundException e) {
log.error(e.getMessage());
} catch (IOException e) {
log.error(e.getMessage());
}
return buffer;
}
@Override
public List<Attention> findAttentionsByUserId(String username, HttpServletRequest request) {
final User user = this.userService.findUserByLoginName(username);
final List<Attention> attentions = this.attentionMapper.getAttentionsByUserId(user.getId());
final int count = attentions.size();
final String httpSourcesPath = "http://xxx.xxx.com/";
int i = 0;
for (; i < count; i++) {
attentions.get(i).setUserHeadUrl(httpSourcesPath.concat(attentions.get(i).getUserHeadUrl()));
}
return attentions;
}