Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created December 3, 2025 12:53
Show Gist options
  • Select an option

  • Save sunmeat/aefd57bf3c8388538bdffb2bbdce7778 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/aefd57bf3c8388538bdffb2bbdce7778 to your computer and use it in GitHub Desktop.
завантаження та показ картинки в браузері
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
const string imagePath = @"C:\!Files\images\jpg\1.jpg";
// перший маршрут — показати картинку в браузері
app.MapGet("/image", () => Results.File(imagePath, "image/jpeg")); // по другому параметру браузер розуміє, що це зображення, і показує його прямо в вікні
// другий маршрут — завантажити картинку як файл
app.MapGet("/download", () =>
{
var bytes = File.ReadAllBytes(imagePath);
return Results.File(bytes, "application/octet-stream", "forest.jpg"); // по третьому параметру браузер розуміє, що це файл для завантаження, і пропонує зберегти його з ім'ям forest.jpg
}); // використання application/octet-stream змушує браузер завантажувати файл замість його відкриття
// також, браузер навіть не залишається на сторінці /download, а переходить назад на попередню сторінку після початку завантаження
// головна сторінка з 2 кнопками для переходу до маршрутів
app.MapGet("/", () => Results.Content("""
<!DOCTYPE html>
<html lang="uk">
<head>
<meta charset="utf-8">
<title>Мій сервер</title>
<style>
body { font-family: Arial; text-align: center; margin-top: 100px; }
a { padding: 15px 30px; margin: 20px; font-size: 20px; text-decoration: none; background: #007bff; color: white; border-radius: 8px; }
a:hover { background: #0056b3; }
</style>
</head>
<body>
<h1>Привіт! Це мій сервер, тут можна</h1>
<p>
<a href="/image">Переглянути зображення</a>
<a href="/download">Завантажити зображення</a>
</p>
</body>
</html>
""", "text/html"));
app.Run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment