如何在没有特定内容类型的情况下下载文件
本文关键字:类型 情况下 文件 下载 | 更新日期: 2023-09-27 17:57:04
我只想下载一个文件。但是现在我只能下载图像。
我有这个:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult DownloadFile(DownloadFileModel model, string fileName, int fileId)
{
//var extension = Path.GetExtension(model.FileName).TrimStart('.');
//var extensies = Seneca.SfsLib.FileSystemHelper.UploadOptInExtensions.Contains(extension);
string customerSchema = SfsHelpers.StateHelper.GetSchema();
TemplateLibraryEntry entry = GetTemplateLibraryEntry(model.DesignId, customerSchema);
FileTree tree = CreateTree(model.DesignId, entry.FilePath);
FileInfo fileInfo = new FileInfo(tree.Files[fileId].FullPath);
DirectoryInfo directoryInfo = new DirectoryInfo(tree.Files[fileId].FullPath);
try {
var fs = System.IO.File.OpenRead(fileInfo + model.FileName );
return File(fs, "application/jpg", fileName);
}
catch {
throw new HttpException(404, "Couldn't find " + model.FileName);
}
}
但是如果我现在下载文件,我每次都会看到下载文件。我的意思是我没有看到 fil 名称和扩展
谢谢
如果您
使用的是.NET 4.5或更高版本,那么它具有内置支持直接从文件名中获取MIME类型。
MSDN 链接
你可以做:
return File(fs, System.Web.MimeMapping.GetMimeMapping(fileName), fileName);