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(); } }