Chrome浏览器上File方法的奇怪行为

时间:2018-01-31 06:23:01

标签: c# asp.net-mvc google-chrome iis-8

在我的应用程序的(一)中,控制器是定义允许下载文件的动作/方法。

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

1 个答案:

答案 0 :(得分:0)

无论如何解决了 - 当应用程序是.net 4.5.2但服务器只安装了.net 4.5时会发生这种情况。另一个功能(表单/查询等)在完美之前起作用。

现在它完美无缺。也许这对某人有用。 感谢所有花了一些时间在这个主题上的人。