如何显示来自“动态”aspx 页面的任何添加内容?目前,我正在使用 System.Web.HttpResponse“Page.Response”将存储在 Web 服务器上的文件写入 Web 请求。
这将允许人们点击类型为 http://www.foo.com?Image=test.jpg 的 url并在他们的浏览器中显示图像。因此,您可能知道这围绕 Response.ContentType 的使用展开。
通过使用
Response.ContentType = "application/octet-stream";
我能够显示 gif/jpeg/png 类型的图像(到目前为止我测试过的所有图像),尝试显示 .swf 或 .ico 文件时出现了一个小错误。
使用
Response.ContentType = "application/x-shockwave-flash";
我可以获取 flash 文件来播放,但随后图像就乱七八糟了。
那么我如何轻松选择内容类型呢?
最佳答案
这很丑陋,但最好的方法是查看文件并适本地设置内容类型:
switch ( fileExtension )
{
case "pdf": Response.ContentType = "application/pdf"; break;
case "swf": Response.ContentType = "application/x-shockwave-flash"; break;
case "gif": Response.ContentType = "image/gif"; break;
case "jpeg": Response.ContentType = "image/jpg"; break;
case "jpg": Response.ContentType = "image/jpg"; break;
case "png": Response.ContentType = "image/png"; break;
case "mp4": Response.ContentType = "video/mp4"; break;
case "mpeg": Response.ContentType = "video/mpeg"; break;
case "mov": Response.ContentType = "video/quicktime"; break;
case "wmv":
case "avi": Response.ContentType = "video/x-ms-wmv"; break;
//and so on
default: Response.ContentType = "application/octet-stream"; break;
}
关于c# - 显示来自 Respose.WriteFile()/Response.ContentType 的广告内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234/