Created
December 3, 2025 12:53
-
-
Save sunmeat/aefd57bf3c8388538bdffb2bbdce7778 to your computer and use it in GitHub Desktop.
завантаження та показ картинки в браузері
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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