Anzeige byte-array als Bild in angular js
Ich habe ein Bild in der Datenbank. Ich möchte retreive das Bild und zeigen Sie es in der web-Seite mit angular js. Nach dem abrufen der Daten habe ich byte-array. Wie sende ich die Daten an die html-Seite. Ich habe Probleme mit dem code unten.. bitte helfen.
, Wenn ich auf den link klicken, um das Bild anzuzeigen, - Seite sendet 2-get-Anfragen an den server statt. Es ist das senden der Anfrage kontinuierlich für 2 mal.
Hinweis : ich habe versucht über den untenstehenden link.. Aber es hat nicht funktioniert
AngularJS - Show byte-array-Inhalt als Bild
Unten ist mein js-Datei
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-Klasse-Datei
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-Code
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();
}
Können Sie uns den code der
element
wird klicken Sie?<img data-ng-src="data:image/PNG;base64,{{image}}"
Ist das Bild wirklich based64 codiert? Wenn nicht, dann kann es nicht funktionierenInformationsquelleAutor axn7975 | 2015-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint, wie Ihre
image
ist nicht base64-kodierten string, aber immer noch, dass byte-array. Sie müssen kodiert es zuerst, um es zu verwenden, wie dies<img data-ng-src="data:image/PNG;base64,{{image}}">
Überprüfen Sie die Dokumentation AngularJS - Show byte-array-Inhalt als Bild
Können Sie auch versuchen, diesen Ansatz https://gist.github.com/jonleighton/958841
InformationsquelleAutor David Votrubec