2016-06-28 3 views
0

Как получить файл изображения через Rest API. Существует опция MULTIPART_FORM_DATA, которая похожа на отправку файлов по частям, как в нескольких запросах. Я хочу получать изображения очень быстро на сервере. около 2 изображений в секунду.Получить файл с изображениями через отдых Api

+0

Пожалуйста, посмотрите на эту [страницу справки] (http://stackoverflow.com/help/how-to-ask) о том, как задать хороший вопрос: вы сомневаетесь слишком расплывчато и не приводите ни одного примера о том, что вы пробовали. – DenisGL

+0

с использованием base64 формата – CSK

+0

Спасибо @CSK base64 оказывается хорошим вариантом. – sunder

ответ

1

Просто прочитайте изображение в File и используйте класс Response для создания ответа.

Response.ok(new File("myimage.jpg"), "image/jpeg").build(); 

Есть и другие варианты.

Прочтите изображение, используя следующие.

URL url = new URL("http://localhost:8080/myimage/1"); 
URLConnection connection = url.openConnection(); 

input = connection.getInputStream(); 
byte[] buffer = new byte[1024]; 
int n = - 1; 

OutputStream fos = new FileOutputStream("Output.jpg"); 
while ((n = input.read(buffer)) != -1) 
{ 
    fos.write(buffer, 0, n); 
} 
fos.close(); 

Вы можете использовать HTTP-клиент Apache, чтобы сделать его более красивым.

+0

Я хочу получить изображение на стороне сервера. Я планирую использовать @FormDataParam. Есть ли другой эффективный способ. – sunder

+0

Вам просто нужно использовать HTTP-клиент для загрузки файла. Ничего не отличается от чтения простого 'inputstream' – 11thdimension

+0

@sunder, я думал, что вы хотите вызвать REST api, для загрузки изображения' @ FormDataParam' все в порядке. – 11thdimension

Смежные вопросы