Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨多个浏览器使用asp.net显示图像和文档_Asp.net_Firefox - Fatal编程技术网

跨多个浏览器使用asp.net显示图像和文档

跨多个浏览器使用asp.net显示图像和文档,asp.net,firefox,Asp.net,Firefox,我有一个名为DisplayBinaryData.aspx的网页,该网页的目的是显示/下载任何word、excel、pdf或图像。我调用此网页并使用查询字符串传递我的BinaryData实体的id。BinaryData实体包含使用asp.net fileUploadControl上载的文件、文件名和内容类型。页面加载中的代码如下所示: BinaryData obj = GetBinaryObjectById(int.Parse(Request.QueryString["id"]));

我有一个名为DisplayBinaryData.aspx的网页,该网页的目的是显示/下载任何word、excel、pdf或图像。我调用此网页并使用查询字符串传递我的BinaryData实体的id。BinaryData实体包含使用asp.net fileUploadControl上载的文件、文件名和内容类型。页面加载中的代码如下所示:

    BinaryData obj = GetBinaryObjectById(int.Parse(Request.QueryString["id"]));

    Response.Clear();

    Response.BufferOutput = true;

    Response.AddHeader("Content-Disposition", "attachment; filename=" + obj.FileName);

    Response.ContentType = obj.FileContentType;

    Response.BinaryWrite(obj.BinaryFile);

    Response.Flush();

    Response.Close();

    Response.End();
此代码在IE中执行得非常完美,但在FireFox中执行时失败。IE提示用户保存或打开内容。FireFox也会提示用户,但对话框无法保存或打开任何内容。当在google chrome中执行此操作时-没有对话框,它会自动开始下载内容


我的问题:我需要这段代码与FireFox兼容-有什么建议吗?

您在Chrome中提到的行为只是对Chrome的默认设置做了修改。您可以通过转到“选项”窗口的“发动机罩”选项卡下的来更改这些选项。然后选中“下载前询问每个文件的保存位置”复选框

您的obj.FileName名称中是否有空格? 在不同的浏览器中查看此帖子

不同环境下的内容配置 浏览器

今天我必须解决一个问题 在不同的浏览器中 动态生成的下载成功了 完全不同

在安装过程中,我们有一个带有 自定义扩展名,比如.mj,它是 由ASP提供服务。HTTP 标题具有内容配置 标题和响应类型集

这在InternetExplorer中工作得很好 文件被下载为我们的file.mj。 然而,FireFox和Chrome表现得非常出色 不同的是,在FireFox中,该文件是 作为我们的浏览器和Chrome下载 作为我们的file.xml。在FireFox it中 问题似乎是由以下原因引起的: 如果文件名中有空格,则 funkdaddu的论坛帖子帮助我 这样,通过删除FireFox的空间 现在可以下载文件作为 ourfile.mj

Response.AddHeader "Content-Disposition", "attachment; filename=""our file.mj"""
Response.ContentType = "text/xml"