You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function 3.1 如何将其他项目引用文件纳入部署包

解决Azure Function部署后静态文件丢失的方案

方案1:修改文件的复制属性

  • 找到项目中Files/paid_watermark.png文件,右键选择「属性」
  • 将「复制到输出目录」选项修改为如果较新则复制或者始终复制
  • 保存后重新生成项目,检查.csproj文件中是否已经生成如下配置:
<ItemGroup>
  <!-- 单个文件配置 -->
  <Content Include="Files\paid_watermark.png">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </Content>
  <!-- 如果要保留整个Files文件夹下的所有文件,直接按下面的写法 -->
  <Content Include="Files\**\*.*">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </Content>
</ItemGroup>

方案2:检查发布过滤规则

  • 如果是Node.js/Python等非.NET语言的Azure Function项目,打开项目根目录的.funcignore文件,确认没有把Files/文件夹列入忽略列表
  • 避免发布过程中自动删除该目录下的文件

方案3:修正运行时的路径引用逻辑

部署后不能直接用相对路径访问文件,需要先获取Function App的根目录再拼接路径,C#代码示例:

public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
    ExecutionContext context,
    ILogger log)
{
    // 拼接得到正确的文件路径
    string watermarkPath = Path.Combine(context.FunctionAppDirectory, "Files", "paid_watermark.png");
    // 后续读取文件的逻辑
}

你提供的相关示意图:
相关示意图

内容的提问来源于stack exchange,提问作者Alex D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:45:02