मुझे जवाब के लिए रघुनाथन का उत्तर धन्यवाद मिला।
यहां मुझे डाउनलोडिंग फ़ाइल की शीर्षलेख जानकारी प्राप्त करने के लिए अतिरिक्त कॉल करने की आवश्यकता है। शीर्षलेख अनुभाग में मुझे फ़ाइल का नाम मिला।
इसके अलावा मुझे यह Filename from URL not containing filename suffix पोस्ट मिला जिसके माध्यम से मुझे हेडर विवरण के बारे में अधिक जानकारी मिली जो हम समय पर अनुरोध कर सकते हैं।
हम इस URLUtil.guessFileName(url, null, null)
उपयोग कर सकते हैं के रूप में, लेकिन यह मेरे मामले के लिए साधन बुलाने की फ़ाइल नाम दिया जाएगा मैं इस
misc/dnload.php?t1=MzQ0MDA=&t2=MTY5NTUz&t3=MTY5NTUzMTMwMjEyMDNfcGhhcm1hY3kga2V5IGluZm8ucG5n&t4=MTMwMjEyMDM=
तरह यूआरएल तो ऊपर के लिंक से इस dnload.php निकालने के रूप में है फ़ाइल का नाम यह मूल फ़ाइल नाम नहीं है जिसे हम डाउनलोड करते हैं, बस उस फ़ाइल के लिए डाउनलोड लिंक बनाया है।
यहाँ का उपयोग कर इस हम फ़ाइल नाम यह सिर्फ एक अतिरिक्त कॉल प्राप्त कर सकते हैं जानकारी पाने के लिए, लेकिन वास्तव में हम डाउनलोड, डाउनलोड के लिए मैं फ़ाइल डाउनलोड करने के लिए DownloadManager को एंड्रॉयड इनबिल्ट एपीआई का इस्तेमाल किया है कोड है।
Content-Disposition this is the attribute in header section through which we can get the file name as in attachment form.
यह इस तरह से Content-Disposition: attachment; filename="fname.ext"
तरह की जानकारी वापस आ जाएगी करेंगे तो अब सिर्फ फ़ाइल नाम
class GetFileInfo extends AsyncTask<String, Integer, String>
{
protected String doInBackground(String... urls)
{
URL url;
String filename = null;
try {
url = new URL(urls[0]);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
conn.setInstanceFollowRedirects(false);
String depo = conn.getHeaderField("Content-Disposition");
String depoSplit[] = depo.split("filename=");
filename = depoSplit[1].replace("filename=", "").replace("\"", "").trim();
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e) {
}
return filename;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute();
// use result as file name
}
}
आप फ़ाइल डाउनलोड करने के लिए एक http अनुरोध करते हैं। यदि ऐसा है तो आप हेडर सामग्री से फ़ाइल नाम प्राप्त कर सकते हैं। – Raghunandan