Мой REST API возвращает изображение в заголовке («Content-Type», «image / png»). Изображение сохраняется как двоичный файл на сервере SQL (тип данных: изображение, хранится в двоичном формате). Ответ API идеален, как я проверил в Почтальоне.
Я хочу отобразить это изображение в Android. (Я использую залп для сетевых запросов.)
Есть мысли?
Заранее спасибо.
EDIT1
Вот мой тонкий REST API-маршрут, который возвращает изображение.
//get image
$app->get('/image', function ($request, $response) {
$conn = new PDO('sqlsrv:server =localhost; Database = dbName', 'dbUser', 'dbPass');
$sql = "SELECT Picture
FROM Table
WHERE Primary_Key = 'abc'";
$statement = $conn->prepare($sql);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
return $response->withHeader('Content-Type', 'image/png')->write($row['Picture']);}
EDIT2
Вот мой API запрос вызова с использованием залпа на Android end. Этот код находится во фрагменте. url - это строковая переменная, profileImage - это ImageView, где я хочу использовать это извлеченное изображение.
url= getString(R.string.api_url) + "image";
request = new StringRequest(GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
byte[] byteArray = response.getBytes();
Bitmap bitmap =
BitmapFactory.decodeByteArray(byteArray,0,byteArray.length);
profileImage.setImageBitmap(bitmap);
} //onErrorResponse
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}) {
};
queue = Volley.newRequestQueue(getActivity());
queue.add(request);