Как преобразовать двоичные данные в файл PDF ASP.NET MVC
Я разрабатываю информационную систему для студентов. Я вставляю файл PDF в базу данных в виде двоичного файла для каждого курса. Я хочу, чтобы пользователи загружали этот файл. Загрузка файла, но не отображение. Где я делаю неправильно.
MvcCode
public FileResult FileDownload(Ders not)
{
byte[] byteArray = GetPdfFromDB(not.DersId);
MemoryStream pdfStream = new MemoryStream();
pdfStream.Write(byteArray, 0, byteArray.Length);
pdfStream.Position = 0;
//return new FileStreamResult(pdfStream, "application/pdf");
return File(pdfStream, "application/pdf", "DersNot.pdf");
}
private byte[] GetPdfFromDB(int id)
{
#region
byte[] bytes = { };
using (SqlConnection con = new SqlConnection(@"Server=****;Database=***;UID=***;PWD=***"))
{
con.Open();
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT DersNotIcerik FROM Ders WHERE DersId=@Id";
cmd.Parameters.AddWithValue("@Id", id);
cmd.Connection = con;
using (SqlDataReader sdr = cmd.ExecuteReader())
{
if (sdr.HasRows == true)
{
sdr.Read();
bytes = (byte[])sdr["DersNotIcerik"];
}
}
con.Close();
}
}
return bytes;
#endregion
}
Посмотреть
@Html.ActionLink(item2.DersNotAd, "FileDownload", new { id = item2.DersId })
1 ответ
Я решил проблему следующим образом. Мы можем закрыть тему
public FileResult FileDownload(int id)
{
SqlConnection con = new SqlConnection(@"Server=10UR\MSSQLSERVERR;Database=UniversiteDB;UID=onur;PWD=1234");
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT DersNotIcerik FROM Ders WHERE DersId=@Id";
cmd.Parameters.AddWithValue("@Id", id);
byte[] binaryData = (byte[])cmd.ExecuteScalar();
return File(binaryData, "application/octet-stream", "DersNot.pdf");
}