-1
Ich entwickle ein Studenteninformationssystem.Ich lege die PDF-Datei in die Datenbank als Binärdatei für jeden Kurs.Ich möchte, dass Benutzer diese Datei herunterladen.Downloadloading-Datei, aber nicht angezeigt. Wo mache ich mich falsch.Wie binäre Daten in PDF-Datei ASP.NET MVC
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 [email protected]";
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
}
Ansicht
@Html.ActionLink(item2.DersNotAd, "FileDownload", new { id = item2.DersId })
hat zu der Client installiert pdf? Hat IIS den richtigen Mime-Typ deklariert? – bilpor
pdf installiert.Wie MIME-Typ zu deklarieren.Ich bin neu bei MVC.Ich habe keine volle Kontrolle über einige Themen –
Sie müssen die IIS-Management-Konsole öffnen, dann sollten Sie eine Option für MIME-Typen sehen. für die Erweiterung geben Sie 'pdf' ein und für den MIME-Typ geben Sie' application/pdf' ein, das dem IIS mitteilt, wie mit diesen Dokumenten umzugehen ist. Um ehrlich zu sein, sollte das PDF da sein, wie es so üblich ist, aber manchmal wird jemand es entfernen und nicht verstehen, wofür es sich lohnt. – bilpor