2016-05-26 9 views
1

zipファイルのコンテンツをダウンロードする必要があります。パスはsqlserverに保存されています。コントローラのFILERESULTアクションメソッドを使用しています。内容がダウンロードされていません...ZipファイルをダウンロードするデータベースMVCに保存されたパスからC#

public FileResult Download(string id) 
{ 
    string txtvalue = null; int cat = 0; 

    string searchType = Session["type"].ToString(); 
    if (searchType == "name") 
    { 
     txtvalue = Session["item"].ToString(); 
    } 
    else if (searchType == "cat") 
    { 
     cat = Convert.ToInt32(Session["item"]); 
    } 
    int fid =Convert.ToInt32(Session["Fid"]); 
    var files = _urepo.GetprojectName(fid); 
    string filename = (from f in files 
         select f.PRJ_LOCATION).SingleOrDefault(); 
    string contentType = "application/zip"; 

    return File(filename, contentType,"download"+filename); 
} 

しかし、唯一のファイルをダウンロードします。.. 任意のヘルプはあなたが必要とするすべての最初の、このような何かを試してみてください

+0

ファイルが存在しますか? – Lloyd

+0

_ "ファイルがダウンロードされています...コンテンツはダウンロードされていません"とはどういう意味ですか? – CodeCaster

+0

返されたファイルが実際にサーバー上に存在することを確認します。 return文の前に次のようなものがあります。 'if(!System.IO.File.Exists(filename))throw new FileNotFoundException();' – oleksii

答えて

1

をapprciatedされます。このようになります マイ・コントローラデータベースからファイルを取得しているかどうかを確認するその条件とは別のものが「コンテンツタイプ」

if (filename != null) 
{ 
     contentType = "application/force-download"; 
     return File(filename, contentType, Path.GetFileName(filename)); 
} 

注意を変更しようと、あなたを助ける:私は完全なコードを掲載、しかしチャンスミスだけの場所ではありませんしています。

+0

実際、コンテンツはデフォルトで** Zip **です。 ファイルがZip形式でダウンロードされています。 しかし、File.Itには何も含まれていません。 – HEGDE

1

私はをアーカイブしながら、 が実際CodeCasterサイード、内容として欠落していたそれを得ました。 後でAjax Callでデータを追加しました。

public FileResult Download() 
     { 
      int Id = Convert.ToInt32(TempData["FileID"]); 

      var files = _urepo.GetprojectName(Id); 
      string filename = (from f in files 
           select f.PRJ_LOCATION).SingleOrDefault(); 
      string contentType = "application/zip"; 
      byte[] fileBytes = System.IO.File.ReadAllBytes(filename); 

      string file=filename.Substring(filename.LastIndexOf("\\")+1); 
      return File(fileBytes, contentType, file); 
     } 

ありがとうございました。

関連する問題