jhipster-将字节数组转换为angularjs中的图像
我在服务器的机器上有图像。我想检索图像并使用angularjs在UI中显示它。 我在RestController中将图像转换为字节数组。在angularjs中,我发送请求获取字节数组,然后在html中将字节数组显示为图像。但图像不会显示在网页上。下面是我的代码: html代码jhipster-将字节数组转换为angularjs中的图像,angularjs,jhipster,Angularjs,Jhipster,我在服务器的机器上有图像。我想检索图像并使用angularjs在UI中显示它。 我在RestController中将图像转换为字节数组。在angularjs中,我发送请求获取字节数组,然后在html中将字节数组显示为图像。但图像不会显示在网页上。下面是我的代码: html代码 形象 当前结果: 您应该按照以下步骤修复java中的代码: @RequestMapping(value=“/images”,method=RequestMethod.GET) 公共响应属性getProductIm
形象
当前结果:
您应该按照以下步骤修复java中的代码:
@RequestMapping(value=“/images”,method=RequestMethod.GET)
公共响应属性getProductImage(字符串文件名){
字节[]结果=空;
文件服务器文件;
试一试{
serverFile=productService.getProductImage(文件名);
FileInputStream fi=新的FileInputStream(服务器文件);
结果=Base64.getEncoder().encode(IOUtils.toByteArray(fi));
}捕获(IOE异常){
e、 printStackTrace();
}
字符串mimeType=URLConnection.guessContentTypeFromName(文件名);
HttpHeaders=null;
if(mimeType!=null){
headers=新的HttpHeaders();
headers.setContentType(MediaType.valueOf(mimeType));
}
返回新的响应属性(结果、标题、HttpStatus.OK);
}
@RequestMapping(value = "/images", method = RequestMethod.GET)
public ResponseEntity<byte[]> getProductImage(String fileName) {
byte[] result = null;
File serverFile;
try {
serverFile = productService.getProductImage(fileName);
BufferedImage bufferedImage = ImageIO.read(serverFile);
// get DataBufferBytes from Raster
WritableRaster raster = bufferedImage.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
result = (data.getData());
} catch (IOException e) {
e.printStackTrace();
}
String mimeType = URLConnection.guessContentTypeFromName(fileName);
HttpHeaders headers = null;
if (mimeType != null) {
headers = new HttpHeaders();
headers.setContentType(MediaType.valueOf(mimeType));
}
return new ResponseEntity<>(Base64.getEncoder().encode(result), headers, HttpStatus.OK);
}
vm.getByte = function(fileName){
$http({
method: 'GET',
url: '/api/images',
params: {
fileName: fileName
}
}).success(function(success){
vm.imgFile = success;
});
};
<div class="form-group">
<label>Image</label>
<div class="form-group has-avatar" ng-if="vm.Product.productImg">
<img ng-src="data:image/JPEG;base64,{{vm.imgFile}}" style="width: 200px;height: 130px;" />
@RequestMapping(value = "/images", method = RequestMethod.GET)
public ResponseEntity<byte[]> getProductImage(String fileName) {
byte[] result = null;
File serverFile;
try {
serverFile = productService.getProductImage(fileName);
FileInputStream fi = new FileInputStream(serverFile);
result = Base64.getEncoder().encode(IOUtils.toByteArray(fi));
} catch (IOException e) {
e.printStackTrace();
}
String mimeType = URLConnection.guessContentTypeFromName(fileName);
HttpHeaders headers = null;
if (mimeType != null) {
headers = new HttpHeaders();
headers.setContentType(MediaType.valueOf(mimeType));
}
return new ResponseEntity<>(result, headers, HttpStatus.OK);
}