到现在的.net core 6.0,默认情况下非wwwroot文件夹下是无法文档到对应静态文件的,需要进行配置化,本篇就来讲讲如何进行自定义文件夹资源访问设置。
时间: 2024-09-12 16:13:48 浏览: 36
ASP.NET Core 应用程序中的静态文件中间件的实现
.NET Core 6.0 默认情况下,为了安全考虑,对非`wwwroot`目录下的静态文件访问进行了限制。如果你想让应用程序能够从其他自定义文件夹提供文档或其他静态内容,你需要进行一些配置。
首先,打开你的项目文件(`.csproj`),找到`<Project>`标签,并添加或修改`StaticWebAssetspublishOptions`部分。例如:
```xml
<PropertyGroup>
<StaticWebAssetsPublishOptions>
<AdditionalOutputPaths>$(WebRoot)/custom-assets</AdditionalOutputPaths>
<!-- 如果你想允许跨域访问,可以添加以下行 -->
<!-- <CopyWebpackPluginOptions CrossOrigin="anonymous" /> -->
</StaticWebAssetsPublishOptions>
</PropertyGroup>
```
这里,`AdditionalOutputPaths`属性指定了额外的静态文件输出路径,比如`custom-assets`。当你部署应用时,这些文件会复制到`wwwroot`的同级目录。
然后,要在应用程序中通过URL访问这个自定义目录,你可以使用相对路径或绝对路径,取决于你的需求。例如,如果你希望用户通过`/custom-assets/myfile.txt`访问文件,那么需要配置路由或中间件以映射这个路径。
注意,为了防止安全风险,建议只允许受信任的文件夹和路径暴露给客户端。如果你的自定义文件夹包含敏感信息,记得进行适当的权限管理和验证。
阅读全文