SORU
30 AĞUSTOS 2010, PAZARTESİ


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
31 AĞUSTOS 2010, Salı


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);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009
  • UberFacts

    UberFacts

    26 EKİM 2013