Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jhipster-将字节数组转换为angularjs中的图像_Angularjs_Jhipster - Fatal编程技术网

jhipster-将字节数组转换为angularjs中的图像

jhipster-将字节数组转换为angularjs中的图像,angularjs,jhipster,Angularjs,Jhipster,我在服务器的机器上有图像。我想检索图像并使用angularjs在UI中显示它。 我在RestController中将图像转换为字节数组。在angularjs中,我发送请求获取字节数组,然后在html中将字节数组显示为图像。但图像不会显示在网页上。下面是我的代码: html代码 形象 当前结果: 您应该按照以下步骤修复java中的代码: @RequestMapping(value=“/images”,method=RequestMethod.GET) 公共响应属性getProductIm

我在服务器的机器上有图像。我想检索图像并使用angularjs在UI中显示它。 我在RestController中将图像转换为字节数组。在angularjs中,我发送请求获取字节数组,然后在html中将字节数组显示为图像。但图像不会显示在网页上。下面是我的代码:

html代码


形象

当前结果:

您应该按照以下步骤修复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);
}