gpt4 book ai didi

c# - 一种适用于所有文件类型的 .ashx 通用处理程序?

转载 作者:行者123 更新时间:2023-11-30 15:03:57 26 4
gpt4 key购买 nike

我已经浏览了基本的 MSDN 信息和一些教程。根据我目前所学,我已经能够制作两个 .ashx 处理程序,我称之为 ImageHandler.ashx 和 PDFHandler.ashx。它们会按照您的预期进行操作:分别返回图像或 PDF。对于这两个处理程序,在 ProcessRequest 方法中,我分别将 context.Response.ContentType 设置为“image/jpeg”和“application/pdf”,然后用 context.Response.BinaryWrite(bytes) 写入结果 到目前为止,一切正常。

但是,我想让用户能够下载任何文件,无论其类型如何。我真的需要为每种文件类型创建不同的处理程序吗?

我可以只有一个 .ashx 文件,然后有一个基于文件类型的 switch 语句(我会通过文件名的子字符串获得)吗?即使我这样做了,非标准文件类型(比如 .xyz 文件)又如何呢?在这种情况下,我应该将 content.Response.ContentType 设置为什么?

最佳答案

不,您不需要多个处理程序,尤其是如果基本操作相同。是的,您可以使用任何类型的逻辑来决定将响应内容类型设置为什么。对于您不知道的内容,请使用 application/octet-stream。您还应该考虑设置“content-disposition” header ,这让您有机会建议它是否应该“内联”显示(即在浏览器中),或作为下载提示 - 以及逻辑文件名是什么(而不是一些 ashx 页面)。

关于c# - 一种适用于所有文件类型的 .ashx 通用处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10943660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com