如何在没有特定内容类型的情况下下载文件

本文关键字:类型 情况下 文件 下载 | 更新日期: 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);
相关文章: