我正在尝试将文件从MVC 5控制器发送到angularjs客户端。我需要在响应中指定文件名。
[HttpGet]
public ActionResult DownloadAttachment([FromUri] long NoteId)
{
var attachment = db.tcp_tahGeneral_downloadNotesAttachment_API(NoteId).First();
var path = attachment.AttachmentLocation;
if (File.Exists(path))
{
FileStream stream = new FileStream(path, FileMode.Open);
byte[] file = new byte[stream.Length];
stream.Read(file, 0, file.Length);
return new FileContentResult(file, attachment.AttachmentFileType);
}
return null;
}
这将发送文件,但不允许我指定新文件名。
答案 0 :(得分:0)
在FileContentResult中有一个属性FileDownloadName
用于设置文件名,您可以尝试以下return语句。
return new FileContentResult(file, attachment.AttachmentFileType)
{
FileDownloadName = "myfilename.myext"
};