-1
私は学生情報システムを開発します。各コースのバイナリとしてデータベースにPDFファイルを挿入します。ユーザーにはこのファイルをダウンロードさせます。どこが間違っているのですか?データをPDFファイルにバイナリする方法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
}
ビュー
@Html.ActionLink(item2.DersNotAd, "FileDownload", new { id = item2.DersId })
を閉じることができます解決しましたか? IISに正しいMIMEタイプが宣言されていますか? – bilpor
pdfがインストールされています.Mimeタイプを宣言する方法.MVCが新しくなりました。一部のテーマを完全に制御できません。 –
IIS管理コンソールを開く必要があります。次に、MIMEタイプのオプションが表示されます。あなたが 'pdf'に入れた拡張のために、MIMEタイプのために' application/pdf'を入力します。これは、IISにこれらのタイプのドキュメントを扱う方法を伝えます。正直なところ、pdfはあまり一般的ではないはずですが、時には誰かがそれを取り除き、最初にチェックアウトする価値があるかどうかを理解していないでしょう。 – bilpor