gpt4 book ai didi

asp.net-mvc-3 - 在 asp.net mvc 应用程序中放置静态文件的最佳位置是什么?

转载 作者:行者123 更新时间:2023-12-02 15:40:06 24 4
gpt4 key购买 nike

例如,我在路径 D:/myprojects/sample 中有一个 Asp.net MVC 应用程序,并且我在 E:/files 中放置了静态文件。

我不想将静态文件放在内容文件夹中,因为静态文件的大小非常大。是否可以在我的应用程序中使用 E:/files 中的文件?怎么办?

我想在框架内显示静态 html 文件,如下所示

< iframe id="content-frame" src="E:/files/index.html" width="100%" frameborder="0">

但我在 Firefox 中收到警告,因为“Firefox 不知道如何打开此地址,因为协议(protocol) (e) 未与任何程序相关联”。

如果在 IIS 中创建虚拟目录,这个问题会得到解决吗?

感谢您的回复。

最佳答案

只要您有权限,您就可以将文件存储在文件系统的任何位置。但是,将它们保存在应用程序目录中通常是有意义的。

根目录下的 App_Data 文件夹是个好地方。这是因为无法通过 HTTP 直接访问 App_Data 文件夹中的文件——服务器返回 404 错误。例如,如果您将来需要将对这些文件的访问限制为仅限授权用户,这可能会很有用。

由于您使用的是 MVC,因此您需要在此文件夹中设置到服务器文件的路径,如下所示:

public FilePathResult GetFile(string path)
{
return File(Path.Combine(Server.MapPath("~/App_Data/"), path), "image/jpeg");
}

然后可以在您的标记中使用一个文件,例如:

@Url.Action("GetFile", new { controller = "Files", path = "myimage.jpg" })

您可能不想直接传递文件路径,因为这只是一个示例(也许传递一个 id),但您知道它是如何工作的。

关于asp.net-mvc-3 - 在 asp.net mvc 应用程序中放置静态文件的最佳位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8890511/

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