首页 > 解决方案 > Autodesk forge 场景链接下载无法解压

问题描述

我正在尝试按照 Autodesk Forge 文档 [此处][1] 中的说明创建和下载 3D 模型。通过成功完成模型,一切都很好。

我用这个 PHP 代码下载文件:

$curl_cmd ="curl -o $photosceneDIR/$photosceneID.obj.zip $download_link";
$json = shell_exec ( $curl_cmd );

$json2 = file_get_contents("$photosceneDIR/$photosceneID.obj.zip");
$zip = new ZipArchive;
$res = $zip->open("$photosceneDIR/$photosceneID.obj.zip");
if ($res === TRUE) 
{
    $zip->extractTo('$photosceneDIR/$photosceneID.obj');
    $zip->close();
} else {
    echo  "ERROR: could not unzip $photosceneDIR/$photosceneID.obj.zip";
}

由于自动压缩失败,我查看了 zip 存档的内容,发现内容如下:

InvalidRequest请求特定的响应标头不能用于匿名 GET 请求。50AD2DF02048EB4Dxkwj8JkN+KWRbrShcz4pGBixF238CzefL1018/oG+5oAj9v5+W40532yQseoZ+aGev0ig/GhaWI=

我应该使用什么代码来检索我的 OBJ 文件?

标签: curlautodesk-forgeautodesk-realitycapture

解决方案


尝试在 CLI 上下载文件并首先排除任何错误,然后将 cURL 命令放入您的代码中。您可以使用该curl -v选项告诉 cURL 转储发送的实际请求的标头和内容,以帮助您查看错误。

在不查看您实际发送的 GET请求User-Agent的情况下,我建议在使用带有标Accept头更改查询字符串的 URL(例如下载您的照片场景输出)。您可以使用以下选项执行此操作:

curl -H "Accept:" -H "User-Agent:" -o "path/to/your/saved/file" http://s3.amazonaws.com/...

如果未指定,则 cURL 发送带有这些标头的默认值的 GET 请求。鉴于您收到的错误消息可能是这里的问题。


推荐阅读