У меня следующая проблема. Я загружаю фото с галереи и отправляю его на сервер. И потом загружаю с сервера все фотографии пользователя в recyclerview и данная фотка получается повернутой на 90 градусов(отображается горизонтально). Как решить эту проблему?
загрузка фоток с галереи
Java |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| public static LinkedList<String> getAllShownImagesPath(Activity activity) {
Uri uri;
Cursor cursor;
int column_index_data, column_index_folder_name;
LinkedList<String> listOfAllImages = new LinkedList<String>();
String absolutePathOfImage = null;
uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = { MediaStore.MediaColumns.DATA,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME };
cursor = activity.getContentResolver().query(uri, projection, null,
null, null);
column_index_data = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
column_index_folder_name = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
while (cursor.moveToNext()) {
absolutePathOfImage = cursor.getString(column_index_data);
listOfAllImages.add(absolutePathOfImage);
}
return listOfAllImages;
} |
|
отправка фотки на сервер(добавление)
Java |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| public void uploadPhoto(final LinkedList<MyGaleryLocalPhoto> list, final int i) {
File file = new File(list.get(i).getThumbnailPath());
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
Observable<CreatePhotosResponse> call = api.addPhoto(RetrofitSingletonPhoto.getInstance().getToken(), body);
Subscription subscription = call
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<CreatePhotosResponse>() {
@Override
public final void onCompleted() {
// do nothing
}
@Override
public final void onError(Throwable e) {
Log.e("getNewDreamsError", e.getMessage());
}
@Override
public void onNext(CreatePhotosResponse response) {
if (response != null) {
response.getMetas();
PostPhoto post = response.getPhoto();
int k = i + 1;
if (k < list.size()) {
if (response.getMetas().getCode() == 200) {
UploadPhoto uploadPhoto = new UploadPhoto();
uploadPhoto.flagAploadPhoto = true;
eventBus.post(uploadPhoto); отправка ивента в другой фрагмент для перезаливки фоток в recyclerview
uploadPhoto(list, k);
}
} else {
UploadPhoto uploadPhoto = new UploadPhoto();
uploadPhoto.flagAploadPhoto = true;
adapter.resetSelectedPhotos();
eventBus.post(uploadPhoto);
}
}
}
});
compositeSubscriptionCheck.add(subscription);
} |
|
и после перезагрузки фоток с сервера в другом фрагменте - добавленная на сервер фотка получается повернутая. Как можно решить эту проблему с поворотом? И из за чего фотки получаются повернутые в андроид?