2015-11-13 7 views
5

मुझे सर्वर पर multipartRequest भेजने में समस्या है।रेट्रोफिट का उपयोग कर फ़ाइलों के साथ मल्टीपार्ट भेजें: 2.0.0-बीटा 1

RequestBody file = RequestBody.create(MediaType.parse("application/json"), myFile); 
     return apiService.updateProfile2(token, file); 


@Multipart 
@POST("/profile/update") 
Call<RegistrationResponse> updateProfile2(@Header(value = "X-AUTH-TOKEN") String toke, @Part(value = "json") RequestBody json); 

समस्या:

अनुरोध शरीर, रिक्त है जब यह सर्वर

+0

आप 'TypedFile' के साथ प्रयास किया? –

+0

@RethinavelPillai वहाँ रेट्रोफिट में कोई TypedFile है 2.0 –

+0

पुराना वापस: 2.0.0-beta1 TypedFile = ( – kadik

उत्तर

1

अद्यतन

Uploading files with Retorfit 2 and Multipart

मूल, विषय से जवाब

के लिए आते हैं यहां मल्टीपार्ट भेजने वाले कोड के साथ एक अच्छा लेख है। यह मेरे लिए काम किया।

MultipartUtility multipart = new MultipartUtility(requestURL, charset); 

multipart.addHeaderField("User-Agent", "CodeJava"); 
multipart.addHeaderField("Test-Header", "Header-Value"); 

multipart.addFormField("description", "Cool Pictures"); 
multipart.addFormField("keywords", "Java,upload,Spring"); 

multipart.addFilePart("fileUpload", uploadFile1); 
multipart.addFilePart("fileUpload", uploadFile2); 

List<String> response = multipart.finish(); 

System.out.println("SERVER REPLIED:"); 

for (String line : response) { 
    System.out.println(line); 
} 
+0

लेकिन यह रेट्रोफिट 2.0.0-बीटा 1 का उपयोग नहीं कर रहा है। – EpicPandaForce

+0

धन्यवाद! लेकिन मुझे केवल रेट्रफ़िल की आवश्यकता है, और संस्करण है 2.0.0-बीटा 1! – kadik

0

पहले सभी, आप MediaType "application/json" भेजें @Multpart के रूप में, यदि आप multpartfile भेजें ताकि आप अपने कोड में परिवर्तन की जरूरत है somethings करना चाहते हैं की कोशिश कर रहे हैं।

कुछ इस तरह:

@Multipart 
    @POST("/profile/update") 
    Call<RegistrationResponse> updateProfile2(
    @Header(value = "X-AUTH-TOKEN") String toke, 
    @Part("myfile\"; filename=\"image.png\" ") RequestBody file); 

और परिवर्तन कॉल विधि यह करने के लिए:

RequestBody file = RequestBody.create(MediaType.parse("multipart/form-data"), myFile); 
     return apiService.updateProfile2(token, file); 
संबंधित मुद्दे