Возвращая карту памяти InputStream от поставщика контента?
На клиентской стороне потребителя контент-провайдера я могу сделать что-то вроде этого, чтобы получить правильный InputStream для чтения картинки:
InputStream is = getContentResolver().openInputStream(pictureUri);
Это хороший API, и на стороне сервера фактический поставщик контента приведет к вызову:
public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
// Open a proper ParcelFileDescriptor, most likely using openFileHelper(uri, mode)
}
Но что, если изображение, сопоставленное с URI, находится не в файловой системе, а как ресурс памяти или не создается на лету.
Могу ли я создать карту памятиFile
или жеInputStream
или что-то еще, так что мне не нужно сохранять временный файл на диск, просто чтобы иметь возможность вернуть его потребителю контента?