Zwrócenie pamięci InputStream odwzorowanej na pamięć od dostawcy treści?
Po stronie klienta konsumenta dostawcy treści mogę zrobić coś takiego, aby uzyskać odpowiedni strumień wejściowy do odczytu obrazu:
InputStream is = getContentResolver().openInputStream(pictureUri);
Jest to miły interfejs API, a po stronie serwera rzeczywisty dostawca treści spowoduje wywołanie:
public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
// Open a proper ParcelFileDescriptor, most likely using openFileHelper(uri, mode)
}
Ale co, jeśli obraz odwzorowany na URI nie zostanie znaleziony w systemie plików, ale jako zasób pamięci lub wygenerowany w locie.
Czy mogę utworzyć zmapowaną pamięćFile
lubInputStream
lub cokolwiek innego, więc nie muszę zapisywać pliku tymczasowego na dysku, tylko po to, aby móc zwrócić go do mojego dostawcy dostawcy treści?