[英]Strange behavior of File method on Chrome Browser
在我的应用程序的控制器之一中,定义了允许下载文件的动作/方法。
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 ____________________________________________________________________________________________________________________________________________________________________________________________________________________________”。
看来这是Google-Chrome的行为,在Edge,Firefox上看起来更好。 不幸的是,Chrome在公司中经常使用,因此会引起问题。 到目前为止尚未找到任何解决方案。
编辑:IIS MIME类型默认在IIS中设置:例如:application / pdf
无论如何与我自己解决-当应用程序是.net 4.5.2但服务器仅安装.net 4.5时,会发生这种情况。 另一个功能(表格/查询等)在完善之前起作用。
现在,它可以完美运行。 也许对某人有用。 感谢所有在此主题上花费了一些时间的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.