На клиентской стороне потребителя поставщика контента я могу сделать что-то вроде этого, чтобы получить правильный 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
или что-то еще, чтобы мне не требовалось сохранять временный файл на диск, просто чтобы иметь возможность вернуть его потребителю моего поставщика контента?