GetContentType

本文介绍了一种文件下载处理技术,包括使用.NET框架下的系统IO内存流进行文件读取,通过WebClient类从指定路径打开并读取文件,以及根据不同文件扩展名返回相应的MIME类型。该技术覆盖了.doc、.docx、.xls、.xlsx等多种文件类型的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件下载

文件下载

                var fileDownloadName = file.FlieName + System.IO.Path.GetExtension(filePath);
                var mimeType = GetContentType(System.IO.Path.GetExtension(filePath)); ;
                return File(FileStream(filePath), mimeType, fileDownloadName);

 

        public Stream FileStream(string path)
        {
            using (System.IO.MemoryStream memStream = new System.IO.MemoryStream())
            {
                WebClient webClient = new WebClient();

                var obj = webClient.OpenRead(path);
                return obj;
            }
        }
        private string GetContentType(string fileExt)
        {
            switch (fileExt)
            {
                case ".doc":
                    return "application/msword";
                case "docx":
                    return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
                case ".rtf":
                    return "application/rtf";
                case ".xls":
                    return "application/vnd.ms-excel";
                case ".xlsx":
                    return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                case ".ppt":
                    return "application/vnd.ms-powerpoint";
                case ".pptx":
                    return "application/vnd.openxmlformats-officedocument.presentationml.presentation";
                case ".pdf":
                    return "application/pdf";
                case ".swf":
                    return "application/x-shockwave-flash";
                case ".rar":
                    return "application/octet-stream";
                case ".zip":
                    return "application/x-zip-compressed";
                case ".mp3":
                    return "audio/mpeg";
                case ".gif":
                    return "image/gif";
                case ".png":
                    return "image/png";
                case ".jpeg":
                    return "image/jpeg";
                case ".jpg":
                    return "image/jpeg";
                case ".jpe":
                    return "image/jpeg";
                case ".txt":
                    return "text/plain";
                case ".bmp":
                    return "image/jpeg";
                case ".exe":
                    return "application/octet-stream";

                default:
                    return "application/octet-stream";

            }

        }

 

转载于:https://www.cnblogs.com/wangyinlon/p/10723796.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值