मेरे पास एक साधारण वेब ऐप है जो फ़ाइलों को डाउनलोड करने की अनुमति देता है।
फ़ाइल सही ढंग से डाउनलोड हो जाती है, हालांकि ब्राउज़र कभी भी प्राप्त डेटा की मात्रा (यानी प्रगति) को इंगित नहीं करता है।

यह केवल 0.1 एमबी दिखाता रहता है जब तक कि अचानक फ़ाइल डाउनलोड नहीं हो जाती।
यहां छवि विवरण दर्ज करें

डाउनलोड कार्रवाई निम्नानुसार कार्यान्वित की जाती है - अभी के लिए, बस स्थानीय फ़ाइल को खोलें-पढ़ें और स्ट्रीम को फ़ाइल परिणाम के रूप में वापस कर दें।

public async Task<IActionResult> Download(string id)
{
    var project = await this.service.GetById(id).ConfigureAwait(false);
    if (project == null)
    {
        return this.NotFound($"Project [{id}] does not exist");
    }
    var file = new FileInfo(project.DownloadLocation);
    this.Response.ContentLength = file.Length;
    return this.File(file.OpenRead(), "application/octet-stream", file.Name);
}

डाउनलोड एक साधारण क्रिया लिंक द्वारा ट्रिगर किया गया है:

 <dd class="project-path">@Html.ActionLink("Here",  "Download", "Download", new { id = Model.Id})</dd>

कोई विचार क्यों क्रोम/फ़ायरफ़ॉक्स डाउनलोड प्रगति कभी नहीं दिखाता है?

1
Bartosz 4 जिंदा 2020, 16:15

1 उत्तर

सबसे बढ़िया उत्तर

आपके कोड को चाल चलनी चाहिए। आपको इसे एक बड़ी फ़ाइल (जैसे: 200mb) के साथ आज़माना चाहिए? यह ईटीए की गणना करने का कारण हो सकता है कि इसे स्थानीय विकास परिवेश में डाउनलोड करने से अधिक समय लगे।

1
Eldar 4 जिंदा 2020, 14:11