Я использовал базу данных SQLite в своем проекте MVC. Я хочу, чтобы пользователи могли загрузить эту базу данных. Это возможно?

0
jomaste 2 Сен 2020 в 09:56

2 ответа

Лучший ответ

Я использовал базу данных SQLite в своем проекте MVC. Я хочу, чтобы пользователи могли загрузить эту базу данных. Это возможно?

Вы можете скачать его. пожалуйста, проверьте следующий код:

public class HomeController : Controller
{
    private readonly ILogger<HomeController> _logger;
    private readonly BloggingContext context; 
    private readonly IWebHostEnvironment _hostingEnvironment;
    public HomeController(ILogger<HomeController> logger, BloggingContext bloggingContext, IWebHostEnvironment environment)
    {
        context = bloggingContext;
        _logger = logger;
        _hostingEnvironment = environment;
    }

    public async Task<IActionResult> Download()
    {
        //get file path
        var path = Path.Combine(_hostingEnvironment.ContentRootPath, "WebApplication.db");

        //read the file in the stream 
        var memory = new MemoryStream();
        using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            await stream.CopyToAsync(memory);
        }
        memory.Position = 0;
        //return the file.
        return File(memory, "application/octet-stream", "WebApplication.db");
    }

На странице просмотра используйте кнопку, чтобы вызвать метод загрузки для загрузки файла базы данных.

Ссылка:

Отправка / загрузка файлов в ASP.NET Core 2.0

Выгрузка / загрузка файлов в ASP.NET Core 2.0

0
Zhi Lv 2 Сен 2020 в 08:33

Вы можете использовать несколько методов. Например, работайте с SQLite, используя один из пакетов из репозитория NuGet, или используйте Entity Framework Core, которое абстрагируется от структуры БД и позволяет работать с данными как с объектами стандартных классов языка программирования.

0
Alexander Shapovalov 2 Сен 2020 в 07:47