通过 SSL 的 C# BinaryWrite

2023-12-08

我正在尝试使用存储在 MSSQL varbinary(MAX) 字段中的 PDF 回复客户端。该响应在我的本地主机和通过 http 连接的测试服务器上工作,但在通过 https 连接的生产服务器上不起作用。我只使用一个简单的 BinaryWrite (代码如下)。

    byte[] displayFile = DatabaseFiles.getPdfById(id);

    Response.ContentType = "application/pdf";
    Response.BinaryWrite(displayFile);

这里没什么特别的。只需获取二进制数据,设置内容类型,然后写回客户端即可。为了以这种方式通过 https 进行响应,是否需要做一些特殊的事情?

Edit:通过不起作用,我的意思是我在浏览器中看到一个空白文档。 Acrobat 无法在浏览器中加载。

Edit:我刚刚注意到这个问题只发生在 IE 7 中。PDF 在 Firefox 3 中正确加载。我们的客户专门使用 IE 7(比 IE 6 更好,我说服他们升级...哈哈)。

Edit:尝试添加标题“内容处置”以使文件充当附件。浏览器无法在 SSL 下加载,并出现 IE 错误“Internet Explorer 无法从 ProductionServer.net 下载 displayFile.aspx”。 (代码如下)

    byte[] displayFile = DatabaseFiles.getPdfById(id);
    Response.Clear();
    Response.AddHeader("content-disposition", String.Format("attachment;filename={0}", fileName));
    Response.ContentType = "application/pdf";
    Response.BinaryWrite(displayFile);

Edit:如果在生产服务器上通过 http 查看文件,浏览器将显示 PDF 的代码,就像通过记事本查看一样。 (例如 %PDF-1.4 %âãÏÓ 6 0 obj endobj xref 6 33 ...等)


我刚刚设法通过替换来解决这个问题

Response.Clear();

with

Response.ClearContent();
Response.ClearHeaders();

所以整个事情看起来像:

byte[] downloadBytes = doc.GetData();
Response.ClearContent();
Response.ClearHeaders();

Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Length", downloadBytes.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=myFile.pdf");
Response.BinaryWrite(downloadBytes);
Response.Flush();
Response.End();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 SSL 的 C# BinaryWrite 的相关文章

随机推荐

  • Woocommerce:用户只能购买一次产品

    我可以在主题的functions php 文件中添加什么 以使用户只能购买产品一次 就像他们以前在商店购买过任何产品一样 他们将无法再次购买 我想代码看起来像这样 伪代码 并且会使用 woocommerce add cart item da
  • JSON 解析错误:意外的标识符“未定义”(React Native)

    我正在尝试使用异步存储来存储两个作为对象存储的文本输入值 并将其传递到不同的视图 在按下按钮时它们将显示在其中 正如其他 StackOverflow 帖子中提到的 我使用 JSON parse 和 JSON stringify 将对象作为
  • Xcode 签名错误无法创建配置文件并且未找到“com.photo.appwall”的配置文件

    我在签署申请时遇到问题 无法创建配置文件 未找到 com photo appwall 的配置文件 该错误消息似乎不言自明 您需要在 Apple 的开发人员门户上注册您的测试设备 登录 Apple 的开发者门户 Click Certifica
  • 如何在 Node.js 中从 URL 进行请求

    是否有标准方法要求 Node 模块位于某个 URL 而不是本地文件系统上 就像是 require http example com nodejsmodules myModule js 目前 我只是将文件提取到临时文件中 并要求这样做 您可以
  • Windows 资源监视器使用哪个 API?

    Windows 资源监视器显示 除其他外 当前哪些进程正在访问磁盘上的哪些文件 它是实时进行的 How 我知道它可能使用 ETW 并且我可以使用 xperf 等工具生成跟踪 但是如何在无需启动 停止和解析跟踪文件的情况下获取实时信息呢 我需
  • 在Android中向多列GridView添加页脚视图?

    是否可以将页脚视图添加到 GridView 具有多列 其行为类似于 ListView 的页脚 那么这个页脚视图 例如分页视图 仅在用户滚动到 GridView 底部时才会出现 并且它具有整个屏幕的宽度 而不仅仅是 1 个网格元素 不 对不起
  • “num - 1”与“num -= 1”

    在第 4 行中 为什么我们必须在 后面添加 num 5 if num gt 2 print num num 1 print num num 1 产生减去 1 的结果num num没有改变 num 1 减一num并存储该结果 相当于num n
  • 小程序无法从 jar 加载类

    一些用户抱怨小程序不再工作 当他们查看 java 控制台时 他们会遇到 java lang noClassDefFoundError 并检查我的访问日志 我发现他们已经下载了包含该类的 jar 文件 然后发出 get对特定类别的请求 不同的
  • 如何用图像中每个像素的颜色绘制图形?

    我正在研究图像颜色识别 因此我将 RGB 图像转换为 Lab 因为它是最接近人类视觉的颜色空间 之后 我获取实验室的 3 个通道中的每一个 并希望在 3D 图形中绘制我在转换图像中识别出的颜色变化 如何使用图像的颜色绘制图形 import
  • iphone MGTwitterEngine - 使用我的应用程序签名发布推文

    我在 iPhone 应用程序中使用 MGTwitterEngine 效果非常好 我想要更改的一件事是 Twitter 上出现的 从 MGTwitterEngine 发布 显然 我希望它说 来自 MyCoolApp 并链接到该应用程序的网站
  • 特使过滤器拦截上游响应

    我已经为 envoy 编写了 ext authz 过滤器 并且对 envoy 过滤器的工作原理有基本的了解 但现在我想过滤从上游返回的响应 具体来说 我想处理两件事 在 Envoy 发送回下游之前 拦截来自上游的 data jsonBody
  • jquery验证插件,如何在自定义方法中添加多个自定义消息

    我在用jquery 验证插件 我使用添加了一个自定义方法添加方法这又调用另一个方法来检查是否有效UK telephone number 这是我的代码 简化 html
  • Apache PDFBOX - 使用 split(PDDocument 文档)时出现 java.lang.OutOfMemoryError

    我正在尝试使用 Apache PDFBOX API V2 0 2 拆分一个 300 页左右的文档 尝试使用以下代码将 pdf 文件拆分为单页时 PDDocument document PDDocument load inputFile Sp
  • 在 D3 中通过上下文缩放和画笔移动散点图圆圈

    我正在尝试基于 d3 示例创建 Focus Context Tooltip 图http bl ocks org 1667367 我已经使基本图表正常工作 但是当我尝试使用焦点图放大某个区域时 我计划用于工具提示的 圆圈 不会移动 这是我的代
  • IOS:使用图案图像作为背景-内存泄漏

    好的 我会寻找答案 也许我自己就能找到 我有一个坏习惯 就是自己回答问题 无论如何 我有一个设计为相当容易 换肤 的应用程序 作为其中的一部分 我在特定于变体的静态类中隔离了方法 这些静态方法为主应用程序提供特定于变体的图像 颜色和设置 h
  • 为什么 `False in pandas.Series([True,True])` 返回 True?

    False in True True False in pd Series True True 第一行代码返回False 第二行代码返回True 我想我一定是在这里做错了什么或者错过了什么 当我检查该系列是否为 0 时 我得到了同样的结果
  • 无法下载jmeter插件:Json Path Extractor

    我无法下载 apache jmeter Json Path Extractor 加载器保持加载 url https jmeter plugins org search jpgc json 安装 JMeter 插件的最佳方法是使用插件管理器
  • 如何使用输入字段更新页面的 url?

    我尝试将搜索页面与 React Router v5 集成到我的应用程序中 如何使用搜索框更新网址的查询参数 当我刷新应用程序时 我会丢失搜索结果和搜索字段的值 我使用 redux 来管理搜索字段和搜索结果的值的状态 我认为遍历 url 的参
  • 由于“single Cursor HandlerTouchEvent -getEditableSupport FALSE”,Phonegap 按钮不会触发

    在最新的 Android 4 0 3 中 phonegap 按钮不会触发 我收到调试消息 singleCursorHandlerTouchEvent getEditableSupport FASLE 注意拼写错误的 FALSE 之后按钮不会
  • 通过 SSL 的 C# BinaryWrite

    我正在尝试使用存储在 MSSQL varbinary MAX 字段中的 PDF 回复客户端 该响应在我的本地主机和通过 http 连接的测试服务器上工作 但在通过 https 连接的生产服务器上不起作用 我只使用一个简单的 BinaryWr