एक सामग्री प्रदाता उपभोक्ता की ग्राहक के पक्ष मैं इस तरह कुछ कर सकते हैं, चित्र को पढ़ने के लिए एक उचित InputStream पाने के लिए:एक सामग्री प्रदाता से इनपुट मैप मैप किए गए मेमोरी लौट रहा है?
InputStream is = getContentResolver().openInputStream(pictureUri);
एक अच्छा एपीआई है, और होगा सर्वर साइड पर, वास्तविक के लिए एक कॉल में सामग्री प्रदाता परिणाम:
public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
// Open a proper ParcelFileDescriptor, most likely using openFileHelper(uri, mode)
}
लेकिन क्या होगा अगर चित्र यूआरआई पर मैप नहीं है फाइल सिस्टम पर पाया जा सकता है, लेकिन एक स्मृति संसाधन के रूप में, या जेनरेट कर दिए।
क्या मैं मेमोरी मैप किए गए मेमोरी File
या InputStream
, या कुछ और बना सकता हूं, ताकि मुझे डिस्क पर एक अस्थायी फ़ाइल सहेजने की आवश्यकता न हो, बस इसे मेरे सामग्री प्रदाता उपभोक्ता को वापस करने में सक्षम हो?
एक समाधान है कि काम हो सकता है है, लेकिन नहीं के रूप में मैं यह करना चाहता हूँ: इस सवाल का जवाब यहाँ और अधिक विस्तार के लिए देखें। मैं वास्तव में लगातार दूरस्थ डेटा के सभी प्रकार पढ़ने के लिए 'ContentResolver # openInputStream()' विधि का उपयोग करने में सक्षम होना चाहता हूँ। भले ही सर्वर डेटा बनाता/बनाता है। यह क्लाइंट को सर्वर कार्यान्वयन को उजागर करने का सवाल नहीं है। – PeyloW
आप इस के लिए एक समाधान @PeyloW पता चला? मैं भी एक समाधान की तलाश में हूँ। – Sunny
@ सनी कोई नहीं हैक हैक नहीं है। तो मैं अस्थायी फ़ाइलों को बचाने और फ़ाइल वर्णनकर्ता भेज दिया। – PeyloW