在我的应用程序的(一)中,控制器是定义允许下载文件的动作/方法。
public FileResult PDFDownloadA(int attachementid)
{
string filepath = "";
byte[] pdfByte;
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.
ConnectionStrings["Zalaczniki"].ConnectionString);
conn.Open();
using (var sqlquery = new SqlCommand("SELECT DDOKUMENT,DFILENAME from ATTACHEMENTS WHERE ID = @id", conn))
{
sqlquery.Parameters.AddWithValue("id", attachementid);
using (var wynik = sqlquery.ExecuteReader())
{
wynik.Read();
var blob = new Byte[wynik.GetBytes(0, 0, null, 0, int.MaxValue)];
wynik.GetBytes(0, 0, blob, 0, blob.Length);
filepath = wynik.GetString(1);
pdfByte = blob;
}
}
conn.Close();
return File(pdfByte, "application/pdf", (filepath == "") ? "temp.pdf" : filepath);
}
问题部分:
在本地IIS Express上调试/运行时它工作正常 - 文件有正确的名称并正确下载,但在我的生产服务器(iis8.5)文件下载名称(为什么?)
" unknown.pdf ____________________________________________________________________________________________________________________________________________________________________________________________&#34 ;.
似乎是Google-Chrome的表现,在Edge上,Firefox看起来更好。 不幸的是Chrome在公司中很常见,所以它会产生问题。 到目前为止,Haven没有找到任何解决方案。
编辑:默认情况下,IIS mime类型在IIS中设置:ex:application / pdf
答案 0 :(得分:0)
无论如何解决了 - 当应用程序是.net 4.5.2但服务器只安装了.net 4.5时会发生这种情况。另一个功能(表单/查询等)在完美之前起作用。
现在它完美无缺。也许这对某人有用。 感谢所有花了一些时间在这个主题上的人。