Bunu yapacak herhangi bir Çerçeve bilmiyorum ama benzer bir şey uyguluyorum. Bizim durumumuzda, kullanıcıların bir veritabanında indirebilmeleri gereken dosyaların bir listesi var, ancak belirli bir klasördeki mevcut dosyaları sorgulamak için System.IO.Directory uygulamasını kullanabilirsiniz. Uygulamanın, dosya paylaşımına erişmesine izin verilen bir kimliği (Kullanıcı) olan bir uygulama havuzunda çalıştırılması da gerekir.
Gerçek karşıdan yükleme, ASP.Net WebHandler (.ashx-File) olarak uygulanır. Kullanıcı Temelde ProcessRequest yönteminde böyle bir şey yapmak Handler olduğunu çarptığında:
string fileName = "\\\\myServer\\folder\\file.pdf";
byte[] fileContent = System.IO.File.ReadAllBytes(fileName);
context.Response.Clear();
context.Response.ClearHeaders();
context.Response.ClearContent();
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.IO.Path.GetFileName(fileName));
context.Response.AddHeader("Content-Length", fileContent.Length.ToString());
context.Response.BinaryWrite(fileContent);
Tabii ki daha büyük dosyalarla ilgileniyor eğer belleğe tüm dosya yüklemek ziyade parçalar halinde okuyamaz isteyebilirsiniz ve BinaryWrite'a birden fazla çağrı yapın. Ayrıca ContentType'ı dosya türünüze uyan bir MIME-Type'a ayarlamanız gerekir, böylece istemciler tarayıcısı tarafından doğru şekilde ele alınır.