2015-06-12 13 views
8

का उपयोग कर सर्वर पर संपीड़ित छवि अपलोड करना मैं अपने प्रोजेक्ट में रेट्रोफिट का उपयोग कर रहा हूं। अब मुझे रेट्रोफिट का उपयोग कर सर्वर पर एक छवि अपलोड करने की आवश्यकता है। तो मुझे निम्नलिखित प्रश्न में सहायता चाहिए:रेट्रोफिट

फॉर्म डेटा में रेट्रोफिट का उपयोग कर सर्वर पर संपीड़ित बिटमैप कैसे अपलोड करें? कोई भी लिंक या उदाहरण उपयोगी होगा।

उत्तर

10

अपलोड नीचे का उपयोग कर

चरण 1 चरणों किया जा सकता है: नीचे

public interface UploadPhotoRetroService { 
    @Multipart 
    @POST("/whatever-your-api") 
    void upload(@Part("Photo") TypedFile file, Callback<String> callback); 
} 

चरण 3 के रूप में इंटरफ़ेस बनाएँ:: बनाएं वर्ग कोड नीचे

UploadPhotoRetroService service = ServiceGenerator.createService(MyActivity.class, "base-url"); 
TypedFile typedFile = new TypedFile("image/jpeg", new File(imagePath)); 
service.upload(typedFile, new Callback<String>() { 
    @Override 
    public void success(String result, Response response) { 
     // success call back  
    } 
    @Override 
    public void failure(RetrofitError error) { 
     error.printStackTrace(); 
    } 
}); 

चरण 2 के साथ एक विधि बनाएं

public class ServiceGenerator { 

    private ServiceGenerator() { 
    } 

    public static <S> S createService(Class<S> serviceClass, String baseUrl) { 
     RestAdapter.Builder builder = new RestAdapter.Builder() 
       .setEndpoint(baseUrl) 
       .setClient(new OkClient(new OkHttpClient())); 

     RestAdapter adapter = builder.build(); 

     return adapter.create(serviceClass); 
    } 
} 
+0

टाइप एडफाइल अब रेट्रोफिट में उपलब्ध नहीं है। क्या आप जानते हैं कि TypedFile –

+0

अजीब के बिना इसे कैसे करें !! मैं रेट्रोफिट संस्करण 1.9.0 के साथ फोटो अपलोड करने के लिए अपने आवेदन में टाइपेडफाइल का उपयोग कर रहा हूं और यह ठीक काम कर रहा है। –

+0

TypedFile के बजाय रेट्रोफिट 2.0 के लिए, आप ResponseBody.create का उपयोग कर एक प्रतिक्रिया बॉडी बनायेंगे – Jawnnypoo