名称中带有句点的 IIS MVC 控制器

发布于 2025-01-05 22:06:56 字数 364 浏览 1 评论 0原文

我有一个带有方法 Foo 的控制器,应该返回 CSV 文件:

public class MyController : Controller
{
    public FileResult Foo(string arg1)
    {
        return new FileContentResult(some byte[], "text/csv");
    }
}

这是可行的,如果浏览器点击我的 url /My/Foo 它会弹出一个下载对话框,但它使用的文件名是 url - 所以它会提示用户下载“Foo”。

我可以以某种方式使用路由或配置来创建“.csv”扩展名吗?即 /My/Foo.csv 会以同样的方式工作吗?

I have a Controller with a method Foo that should return a CSV file:

public class MyController : Controller
{
    public FileResult Foo(string arg1)
    {
        return new FileContentResult(some byte[], "text/csv");
    }
}

This works, if a browser hits my url /My/Foo it pops up a download dialog, but the file name it uses is the url - so it prompts the user to download "Foo".

Can I somehow use routing or config to create a '.csv' extension on this? i.e. so that /My/Foo.csv would work the same way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱要勇敢去追 2025-01-12 22:06:56

我可以通过添加自定义路线来做到这一点:

routes.MapRoute("renamed", "my/foo.csv/{id}", new { controller = "my", action = "foo", id 

I was able to do this by adding a custom route:

routes.MapRoute("renamed", "my/foo.csv/{id}", new { controller = "my", action = "foo", id 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文