Я успешно написал приложение, на основе этого сообщения в блоге , но проще, которое передает изображение по HTTP, используя запрос POST.
Что я не могу понять (после поиска в Интернете и сканирования внутри документов Android SDK) как получить размер изображения, прежде чем делиться им?
Существует только возможность открыть входной поток, который я вижу в примере, ив другом месте:
ContentResolver cr = getContentResolver();
InputStream is = cr.openInputStream(uri);
В данном примере поста блога используется getBytesFromFile(is)
, так что размер можно получить, но это , а не решение.Некоторые изображения огромны, в то время как приложения для Android ограничены в пространстве кучи.Я хочу, чтобы мое приложение работало для всех мыслимых размеров изображений (это не проблема при совместном использовании через Wi-Fi).
Поэтому единственная возможность для меня - это «переслать» входной поток в какой-либо поток вывода HTTP,Я делаю и который работает.Но этот подход не дает мне размер изображения перед отправкой.