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

Azure DevOps管道发布PNG文件异常,请求解决正确上传问题

解决Azure DevOps Pipeline中PNG文件上传损坏的问题

可能原因及对应解决方案

1. Git仓库误将PNG识别为文本文件导致转码损坏

在代码仓库根目录添加.gitattributes文件,内容如下:

*.png binary

这个配置会告诉Git将所有PNG文件以二进制格式处理,避免拉取代码时自动转换行尾符或修改文件内容,确保文件在Pipeline中保持原始状态。

2. 路径含空格引发解析异常

当前配置中PathtoPublish路径包含空格(test png),在Ubuntu代理环境下可能存在解析问题。建议:

  • 重命名文件夹为无空格名称(如test_png),修改Pipeline配置中的路径:
    PathtoPublish: '$(System.DefaultWorkingDirectory)/test_png'
    
  • 或者使用转义空格的写法:
    PathtoPublish: '$(System.DefaultWorkingDirectory)/test\ png'
    

3. 代码拉取任务的行尾符设置干扰

在Pipeline的代码拉取步骤中,禁用自动行尾符转换。添加Checkout任务配置:

- checkout: self
  displayName: 'Checkout source code'
  fetchDepth: 1
  clean: true
  lfs: false
  persistCredentials: true
  submodules: false
  fetchTags: false
  # 禁用行尾符自动转换
  env:
    GIT_CONFIG_PARAMETERS: '--core.autocrlf=false'

4. 验证文件完整性

在Publish任务前添加文件校验步骤,确认PNG文件在Pipeline中未损坏:

- script: |
    # 检查文件大小是否与本地一致
    ls -lh $(System.DefaultWorkingDirectory)/test\ png/*.png
    # 生成文件哈希值,与本地对比
    md5sum $(System.DefaultWorkingDirectory)/test\ png/*.png
  displayName: 'Verify PNG file integrity'

通过以上步骤,能确保PNG文件在Pipeline中以原始二进制格式被处理、发布,避免损坏。

内容的提问来源于stack exchange,提问作者Rakesh V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 11:27:18