Я делаю видео (а также фотографию), загружая на сервер с помощью HttpURLConnection.Получить длину данных из входного потока, открытого с помощью content-resolver
У меня есть видео в формате Uri. Я открыть InputStream так:
InputStream inputStream = context.getContentResolver().openInputStream(uri);
Как Видеофайл довольно большой, я не могу буфер данных при записи его в OutputStream. Поэтому мне нужно использовать метод setFixedLengthStreamingMode (contentLength) HttpURLConnection. Но для этого требуется «contentLength». Вопрос в том, как получить длину видео?
Пожалуйста, не предлагайте получить путь к файлу. На некоторых устройствах он работает, но он часто терпит неудачу (особенно на Android 6). Говорят, что Uri не обязательно представляет файл.
Я также наткнулся на ситуации, когда после открытия галереи устройств (с Intent) я получаю Uri изображения, но я не пытаюсь получить путь к файлу. Поэтому я считаю, что это не хороший способ получить путь к файлу от Uri?
вам не нужно ни в буфер видео целиком и не знать его длину заранее, чтобы загрузить его. Вы рассматривали эту возможность? – nandsito
@nandsito, извините, не могли бы вы быть более ясными, пожалуйста? Я не понял, что вы говорите –