如何使用asp.net核心从数据库中的特定行下载图像

Posted

技术标签:

【中文标题】如何使用asp.net核心从数据库中的特定行下载图像【英文标题】:How to download an image from specific row from database with asp.net core 【发布时间】:2021-11-28 23:04:33 【问题描述】:

我想从数据库中获取图像并在我的 react-native 应用程序中显示它。我哪里出错了?

public IActionResult DownloadFile(int id)

    DataTable table = new DataTable();
    string query = @"select image from mydb.courses where id=@id";
    string sqlDataSource = _configuration.GetConnectionString("UsersAppCon");
    mysqlDataReader myReader;
    using (MySqlConnection mycon = new MySqlConnection(sqlDataSource))
    
        mycon.Open();
        using (MySqlCommand myCommand = new MySqlCommand(query, mycon))
        
            myReader = myCommand.ExecuteReader();
            table.Load(myReader);
            var fs = new FileStream(myReader, FileMode.Open);
            return File(fs, "application/octet-stream");
            myReader.Close();
            mycon.Close();
        
    

【问题讨论】:

return 将阻止close() 被调用。要返回图像,请查看:***.com/questions/39177576/… 嗨@Ali Mahmoudi,错误信息是什么?你能分享你的反应组件吗? 嗨,格雷格和@Rena,我修好了 【参考方案1】:

我修好了。

[HttpGet("id")]
public IActionResult DownloadFile(int id)

    string pathImage = "";
    DataTable table = new DataTable();
    string query = @"select image from mydb.courses where id=@id";
    string sqlDataSource = _configuration.GetConnectionString("UsersAppCon");
    MySqlDataReader myReader;
    using (MySqlConnection mycon = new MySqlConnection(sqlDataSource))
    
        mycon.Open();
        using (MySqlCommand myCommand = new MySqlCommand(query, mycon))
        
            myCommand.Parameters.AddWithValue("@id", id);
            pathImage = (string)myCommand.ExecuteScalar();
            mycon.Close();
        
    
    var path = @$"pathImage";
    var fs = new FileStream(path, FileMode.Open);
    return File(fs, "image/jpeg");

【讨论】:

以上是关于如何使用asp.net核心从数据库中的特定行下载图像的主要内容,如果未能解决你的问题,请参考以下文章

如何从 ASP.NET 核心 mvc 向 asp.net 核心中的 Web API 发出 PUT 请求?

如何从 ASP.NET C# 中的 SqlDataSource 获取特定的行值?

如何从 ASP.Net 核心中的 Json 文件中播种 NetTopologySuite.Geometries.Point 数据

如何通过asp.net核心中的属性名称从模型中获取验证属性

如何在asp.net核心应用程序中执行open office calc(宏)

如何从php中的asp.net发送的cookie中检索特定值