asp.net core API 3.1获取图片返回流文件


  [Route("{id}")]
        [HttpGet]
        public FileContentResult Get(string id)
        {
            using (var sw = new FileStream("E://项目//FileImag//20191217//11233aa89256ce39f4e378f58f3bd6e3ac537.jpg", FileMode.Open))
            {
                var contenttype = GetContentTypeForFileName("E://项目//FileImag//20191217//11233aa89256ce39f4e378f58f3bd6e3ac537.jpg");
                var bytes = new byte[sw.Length];
                sw.Read(bytes, 0, bytes.Length);
                sw.Close();
                return new FileContentResult(bytes, contenttype);
            }
        }
        /// <summary>
        /// 注册表获取文件类型
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        private string GetContentTypeForFileName(string fileName)
        {
            //获取文件后缀
            string ext = Path.GetExtension(fileName);
            using (Microsoft.Win32.RegistryKey registryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext))
            {
                if (registryKey == null)
                    return null;
                var value = registryKey.GetValue("Content Type");
                return value?.ToString();
            }
        }
//直接返回文件
public IActionResult ShowImage()
{
  return PhysicalFile(@"c:\404.jpg", "image/jpeg");
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM