ファイルを返すために、MVC 5アプリケーションに基本FilePathResult
を書きました。正しく返されないファイルタイプは.xlsx
です。 PDF's
などのファイルが正常に動作します。MVCが適切なファイルタイプを返さない
public FilePathResult Download(int? id)
{
var model = db.DisciplineModels.Where(x=>x.Id == id).Include(i=>i.Employee).FirstOrDefault();
string username = model.Employee.FirstName + " " + model.Employee.LastName;
string mimeType = MimeMapping.GetMimeMapping(model.Report_Filename);
string path = string.Format(@"~/Employee Records/{0}/HR/Discipline/{1}", username, model.Report_Filename);
return new FilePathResult(path, mimeType);
}
私mimeType
はapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
の正しいファイルタイプに戻って来ていると、ファイルパスが(ファイルがフォルダ内にあります)が正しいです。ファイルがブラウザにダウンロードされるまで、すべてうまくいくように見えます。拡張子のないファイルとして返されます。私はこのコンピュータにOfficeをインストールしていないが、それは問題になるだろうか? (その開発マシン、オフィスは必要ありません)。
アイデア?
'.xlxs'に入力ミスがありますか? –
はい、xlsxを意味します。 updated –
'.xlsx'ファイルの実際の' model.Report_Filename'値は何ですか? –