2014-07-16 11 views
5

के माध्यम से डाउनलोड की गई फ़ाइल नहीं खोल सकता है मैंने एंड्रॉइड में DownloadManager API का उपयोग करके सफलतापूर्वक एक पीडीएफ फ़ाइल डाउनलोड की है।डाउनलोड प्रबंधक एपीआई

प्रकट अनुमतियां सही ढंग से सेट की गई हैं। फ़ाइल सही ढंग से डाउनलोड की गई।

लेकिन जब इसे खोलने की कोशिश की जाती है तो यह कहता है "फ़ाइल नहीं खोल सकता"।

कृपया डाउनलोड की गई फ़ाइल को खोलने में मदद करें। मुझे लगता है कि मैं फ़ाइल के लिए उचित नाम और विस्तार सेट करने में विफल रहा था। इसे कैसे सेट करें?

private void DownloadBook(String url, String title){ 

    DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); 
    //request.setDescription("Some descrition"); 
    String tempTitle = title.replace(" ","_"); 
    request.setTitle(tempTitle); 
    // in order for this if to run, you must use the android 3.2 to compile your app 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
     request.allowScanningByMediaScanner(); 
     request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 
    } 
    request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, tempTitle+".pdf"); 

    // get download service and enqueue file 
    DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); 
    request.setMimeType(".pdf"); 
    request.allowScanningByMediaScanner(); 
    request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI); 
    manager.enqueue(request); 
} 
+0

कृपया कोड दिखाएं जहां आप फ़ाइल का नाम निर्धारित करने और फ़ाइल खोलने का प्रयास करते हैं। – greenapps

+0

मैं अपने ऐप से फ़ाइल खोलने की कोशिश नहीं कर रहा हूं। पीडीएफ डाउनलोड फ़ोल्डर में डाउनलोड किया जाएगा और वहां से उपयोगकर्ता मैन्युअल रूप से इसे खोलता है। वह डाउनलोड की गई फाइल खोला नहीं जा रहा है। –

+0

आपने लाइन '' 'request.allowScanningByMediaScanner();' '' को अपने लूप के अंदर और तीसरे स्थान पर अंतिम पंक्ति में डुप्लिकेट किया है। –

उत्तर

4

समस्या हल हो गई। समस्या डाउनलोड फ़ाइल के लिए एमआईएमई प्रकार सेट करने में है। डिफ़ॉल्ट रूप से गुगल करके सर्वर फ़ाइल को इसके सामग्री प्रकार के रूप में एप्लिकेशन/पीडीएफ के बजाय एप्लिकेशन/एक्स-डाउनलोड के रूप में भेजता है। तो सेट माइम प्रकार में पीडीएफ के रूप में।

मैंने इसे request.setMimeType(".pdf"); से request.setMimeType("application/pdf"); में बदल दिया है।

+0

कृपया मेरी मदद करें मैं एक ही डाउनलोडमैंजर के माध्यम से jpg फ़ाइल डाउनलोड कर रहा हूं और फ़ाइल को खोल नहीं सकता हूं, यहां तक ​​कि mimetype को एप्लिकेशन/jpg पर सेट करने के लिए मुझे और क्या करना है –

+0

कृपया एप्लिकेशन/जेपीईजी या एप्लिकेशन/पीएनजी –

+0

के साथ एक बार प्रयास करें मैंने अन्य लिंक के साथ प्रयास किया है जो अच्छी तरह से काम कर रहा है लेकिन Google ड्राइव डाउनलोड की गई सामग्री के साथ नहीं खोल सकता है, कृपया मेरा प्रश्न यहां देखें https://drive.google.com/open?id=1bBd6Q4YyOMdYDV_v3boyYlrcecoaDXwOZw –

संबंधित मुद्दे