dmacan23
3/21/2016 - 3:21 PM

ImageUpload.java

 @Override
    public Observable<String> uploadImage(File image) {
        if (image != null) {
            String token = userManager.getToken();
            image = imageUtil.processImage(image);
            RequestBody imageR = RequestBody.create(MediaType.parse("image/*"), image);
            RequestBody multipart = new MultipartBody.Builder()
                    .setType(MultipartBody.FORM)
                    .addFormDataPart("image", image.getName(), imageR)
                    .build();
            return api.imageUpload(token, multipart)
                    .map(jsonObject -> {
                                if (isOk(jsonObject)) {
                                    return jsonObject
                                            .get("data")
                                            .getAsJsonObject()
                                            .get("image")
                                            .getAsString();
                                }
                                return null;
                            }
                    );
        }
        return Observable.defer(() -> Observable.just(""));
    }