javascript - 在 Angular js中将字节数组显示为图像

标签 javascript java angularjs servlets

我的数据库中有一张图像。我想检索图像并使用 Angular JS 将其显示在网页中。获取数据后我有字节数组。我如何将数据发送到html页面。我的以下代码有问题。请帮助。
当我单击链接查看图像时,页面向服务器发送 2 个 get 请求,而不是 1 个。正在连续发送请求2次。

注意:我尝试使用下面的链接..但它不起作用

AngularJS - Show byte array content as image

下面是我的js文件

app.controller('aboutCtrl', function($scope,$http,$location) {
$scope.message = 'This is Add new order screen';
 var url = '/Angular/login';  
    $http.get(url).success(function(result) {  

        $scope.image = result.image;
    })  
});
//html
<img data-ng-src="data:image/PNG;base64,{{image}}">

Java类文件

 public String getImage() throws FileNotFoundException{
    String byteStr=null;
    try
    {
        Connection con= DbConnect.getConnection();
        String sql ="select * from image_data where id=1";
        PreparedStatement ps=con.prepareStatement(sql);  
        ResultSet rs = ps.executeQuery();

        while(rs.next())
        { 
            Blob b=rs.getBlob(2);
            byte barr[]=b.getBytes(1,(int)b.length());

             byteStr = new String(barr);
        }  
    }catch(Exception e){
        e.printStackTrace();    
    }
    return byteStr;

}

Servlet 代码

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("inside get");
    JSONObject result= new JSONObject();
    Retreive rt = new Retreive();
    result.put("image", rt.getImage());
    response.setContentType("application/json");
    PrintWriter out = response.getWriter();
    out.write(result.toString());
    out.flush();
    out.close();

}

最佳答案

看起来像你的image不是 base64 编码的字符串,但仍然是字节数组。您需要先对其进行编码才能像这样使用它 <img data-ng-src="data:image/PNG;base64,{{image}}">

查看文档 AngularJS - Show byte array content as image

您也可以尝试这种方法https://gist.github.com/jonleighton/958841

关于javascript - 在 Angular js中将字节数组显示为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31198509/

相关文章:

javascript - 为什么 javascript gridster 插件调整大小不起作用

javascript - jQuery css 瞬间附加到 iframe

java - 我在用 Java 创建交互式菜单时遇到问题

java - 一旦客户端确认,JMS 主题上的消息是否可用?

javascript - 来自 AngularUI 的 AngularJS 独特过滤器是否已弃用?

javascript - 检查字符串不为空 - Zapier Javascript - 返回备用值

javascript - 如何将动画帧精确锁定为 1 秒?

java - Java的Runtime.maxMemory()什么时候会返回Long.MAX_VALUE?

javascript - Protractor - 断言评估()值

javascript - AngularJS : Watch scope value of a injected service changed in one directive from another directive