#c# #asp.net-core #swagger-ui
Вопрос:
Я также завершил код для файла logincontroller.cs и файла базы данных. Но последняя строка в файле usingdatabase.cs показывает ошибку. Вот мои фрагменты кода: Usingdatabase.cs Эта функция используется для получения документов в формате изображения из api.
public void GetUserDocuments ()
{
using (Con = new SqlConnection(SqlConnectionString.ConnectionString))
{
DataTable ds = new DataTable();
var img="";
try
{
Con.Open();
string sqlquery = "Select * from Auth.UserDocuments where UserId = 2016";
SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlquery, Con);
foreach (DataRow row in ds.Rows)
{
//Get the byte array from image file
byte[] imgBytes = (byte[])row["Image"];
//If you want convert to a bitmap file
TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
Bitmap MyBitmap = (Bitmap)tc.ConvertFrom(imgBytes);
string imgString = Convert.ToBase64String(imgBytes);
//Set the source with data:image/bmp
img = String.Format("data:image/jpge;base64,{0}"", imgString); //img is the Image control ID
}
//LoginController imglogin = new LoginController();
**LoginController.ImageBase64(img);**//THIS LINE IS SHOWING ERROR.
}
finally
{
Con.Close();
}
}
Вот logincontroller.cs
[HttpGet]
[Route("GetDocuments")]
public string ImageBase64(string ImagePath)
{
try
{
string filepath = Path.Combine(_webHostEnvironment.WebRootPath "\Images\UserDocuments", ImagePath);
byte[] imageArry = System.IO.File.ReadAllBytes(filepath.Replace("//", "\"));
string base64ImageRepresantation = Convert.ToBase64String(imageArry);
return "data:image/jpge;base64," base64ImageRepresantation;
}
catch
{
return "";
}
}
Как извлечь изображения из базы данных и отобразить их в api swagger?
Ответ №1:
После тестирования мы не можем отображать несколько изображений в swaggerui.
Вы можете использовать мой пример кода, чтобы показать свое изображение отдельно.
Советы
удалить data:image/png;base64,
префикс.
Пример кода
[HttpGet]
public FileContentResult show()
{
// get strings from db
string base64image = "/9j/2wCEAAkGBxITEhITEhISFRUVFRcVFRUVFRUVFRUVFRUWFxUVFRUYHSggGBolHRUVITEhJSkrLi4uFx8zODMtNygtLisBCgoKDg0OFRAQFSsZFR0tLS0tLSstLS0rLS0rLS0tLS0tKy0tLS0tNysrLTctNy0tKzc3LS0tLS0tNzc3NysrK//AABEIAOEA4QMBIgACEQEDEQH/xAAbAAABBQEBAA...WghBDURCECX/9k=";
byte[] Picture = Convert.FromBase64String(base64image);
return File(Picture, "image/png");
}