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

Autodesk Forge场景链接下载文件无法解压,求OBJ文件获取方案

解决Forge模型下载解压失败的问题

首先得明确问题根源:Forge生成的模型下载链接必须携带身份验证令牌才能访问,你直接用匿名curl请求,服务器会拒绝访问,所以你下载到的不是真实的OBJ压缩包,而是服务器返回的错误响应文本,解压自然会失败。

下面给你修正后的代码,主要做了这几个关键调整:

  • 在curl请求中添加Authorization头,带上有效的Forge访问令牌(格式为Bearer <你的令牌>)
  • 修复extractTo方法里的变量引用问题(单引号会导致变量无法解析,改用双引号)
  • 增加了文件有效性校验和调试日志,方便排查问题
// 先确保你已经获取到有效的Forge访问令牌(需要包含data:read权限)
$forge_token = "你的Bearer令牌"; 
$photosceneDIR = "./path/to/your/storage"; // 替换成你的实际存储目录
$photosceneID = "你的场景ID";
$download_link = "Forge返回的模型下载链接";

// 修正后的curl命令,添加身份验证头
$curl_cmd = "curl -H 'Authorization: Bearer $forge_token' -o '$photosceneDIR/$photosceneID.obj.zip' '$download_link'";

// 执行curl并捕获输出,方便调试
$curl_output = shell_exec($curl_cmd . " 2>&1");
if (!empty($curl_output)) {
    echo "curl执行日志: " . $curl_output . "<br>";
}

// 检查下载的文件是否有效
$zip_file = "$photosceneDIR/$photosceneID.obj.zip";
if (!file_exists($zip_file) || filesize($zip_file) < 100) {
    echo "ERROR: 下载的文件无效,请检查令牌和下载链接是否正确<br>";
    exit;
}

// 解压压缩包
$zip = new ZipArchive;
$res = $zip->open($zip_file);
if ($res === TRUE) {
    $extract_path = "$photosceneDIR/$photosceneID.obj";
    // 确保解压目录存在
    if (!is_dir($extract_path)) {
        mkdir($extract_path, 0777, true);
    }
    $zip->extractTo($extract_path);
    $zip->close();
    echo "解压成功!文件已保存至: $extract_path<br>";
} else {
    echo "ERROR: 无法解压文件,错误码: $res<br>";
}

额外提醒:

  • 你的Forge访问令牌必须包含data:read权限,否则依然会被服务器拒绝
  • 令牌有有效期,要确保使用的是最新获取的有效令牌
  • 如果路径或变量中包含特殊字符(比如空格),一定要用单引号包裹文件名和链接,避免curl命令解析出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:03:32