Asp.Net herhangi bir tür dosya indirme FileResult kullanarak MVC?
FileResult kullanıcılar Asp.Net MVC benim uygulama dosyalarını indirmek için izin vermek için kullanacağım bunu bana önerdi, aldım. Ama her zaman bulamıyorum bu örnekler sadece resim dosyaları (içerik türünü image/jpeg belirterek) ile ilgisi var.
Ama eğer dosya türünü bilmem olabilir mi? Kullanıcılar çok fazla benim sitenin filearea herhangi bir dosya indirmek mümkün olmak istiyorum.
Kaldım okumak bir yöntem yapıyor bu a previous post kodu), bu gerçekten iyi çalışıyor, tek bir şey dışında: dosya o kadar geliyor Kaydet iletişim birleştirilmiş dosya yolu ile alt çizgi (folder_folder_file.ext). Ayrıca, insanlar BinaryContentResult bulduğumu bu özel bir sınıf yerine bir FileResult dönmek gerektiğini düşünüyor gibi görünüyor.
Herkes "" yapmanın yolu MVC gibi bir download? doğru biliyorum
EDİT: Cevap (aşağıda) var, ama eğer başka biri ile ilgilenen varsa tam çalışan kod gönderilmesi gerekiyor diye düşündüm.
public ActionResult Download(string filePath, string fileName)
{
string fullName = Path.Combine(GetBaseDir(), filePath, fileName);
byte[] fileBytes = GetFile(fullName);
return File(
fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}
byte[] GetFile(string s)
{
System.IO.FileStream fs = System.IO.File.OpenRead(s);
byte[] data = new byte[fs.Length];
int br = fs.Read(data, 0, data.Length);
if (br != fs.Length)
throw new System.IO.IOException(s);
return data;
}
CEVAP
Sadece octet-stream genel MİME türünü belirtebilirsiniz:
public FileResult Download()
{
byte[] fileBytes = System.IO.File.ReadAllBytes(@"c:\folder\myfile.ext");
string fileName = "myfile.ext";
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}
Nasıl iki dosya Eclipse kullanarak kar...
ASP.NET Web API bir yöntem angularjs k...
İndirme için bir dosya PHP kullanarak ...
İndirme büyük bir dosya curl kullanara...
Python kullanarak bir dosya var olup o...