Core:

public ActionResult Get(string id)
        {
            HttpResponseMessage result = null;
            DirectoryInfo directoryInfo = new DirectoryInfo(@"D:\pic");
            FileInfo foundFileInfo = directoryInfo.GetFiles().FirstOrDefault(x => x.Name == id);
            if (foundFileInfo != null)
            {
                FileStream fs = new FileStream(foundFileInfo.FullName, FileMode.Open);
                result = new HttpResponseMessage(HttpStatusCode.OK);
                result.Content = new StreamContent(fs);
                result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName = foundFileInfo.Name
                };
                return File(fs, "application/octet-stream");
            }
            else
            {
                return NotFound();
            }
    
        }

 Fwk

public HttpResponseMessage Get(string filePath) {
       FileStream stream = new FileStream(filePath, FileMode.Open);
            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
            response.Content = new StreamContent(stream);
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
            response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
            {
                FileName = HttpUtility.UrlEncode(fileName)
            };
            response.Headers.Add("Access-Control-Expose-Headers", "FileName");
            response.Headers.Add("FileName", HttpUtility.UrlEncode(fileName));
            return response;
}

 

 posted on 2019-07-04 11:24  絆τ  阅读(383)  评论(0编辑  收藏  举报