2011-10-28 12 views
6
के माध्यम से बाइट सरणी पोस्ट करने के लिए

लक्ष्य? एक JSON पोस्ट कर रहा है जिसमें बेस 64 एन्कोडेड बाइट [] सरणी एक मान्य विकल्प है?कैसे RestTemplate

उत्तर

3

बिटमैप को बाइट सरणी में बदलना और उसके बाद इसे बेस 64 पर एन्कोड करना और फिर जैक्सन का उपयोग करके मेरे सीरिएलाइज़र के रूप में इसे रीस्ट टेम्पलेट के माध्यम से भेजना समाप्त हो गया।

8

हां, कुछ इस तरह से मुझे लगता है कि

छवि अपने पेलोड है और यदि आप हेडर परिवर्तित करना चाहते तो आप इसे इस तरह से पोस्ट कर सकते हैं:

HttpHeaders headers = new HttpHeaders(); 
headers.set("Content-Type", "image/jpeg"); 
InputStream in = new ClassPathResource("myFile.jpg").getInputStream(); 

HttpEntity<byte[]> entity = new HttpEntity<>(IOUtils.toByteArray(in), headers); 
template.exchange("http://example.com/myFileUpload", HttpMethod.POST, entity , String.class); 

अन्यथा:

InputStream in = new ClassPathResource("myFile.jpg").getInputStream(); 
HttpEntity<byte[]> entity = new HttpEntity<>(IOUtils.toByteArray(in)); 
template.postForEntity("http://example.com/myFileUpload", entity, String.class); 
+0

कोड के लिए धन्यवाद- यह वास्तव में मुझे यह समझने में मदद करता है कि यह पूरी चीज कैसे काम करती है – eladyanai

संबंधित मुद्दे