Autodesk forge 场景链接下载无法解压

Posted

技术标签:

【中文标题】Autodesk forge 场景链接下载无法解压【英文标题】:Autodesk forge scenelink download cannot be unzipped 【发布时间】:2019-06-13 03:48:06 【问题描述】:

我正在尝试按照 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";

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

InvalidRequest请求具体回复 标头不能用于匿名 GET requests.50AD2DF02048EB4Dxkwj8JkN+KWRbrShcz4pGBixF238CzefL1018/oG+5oAj9v5+W40532yQseoZ+aGev0ig/GhaWI=

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

【问题讨论】:

【参考方案1】:

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

在不查看实际发送的 GET 请求的情况下,我建议在使用带有标头更改查询的 URL 卷曲 S3 对象时删除 User-AgentAccept 标头(根据 AWS 标记为可接受的 Common Request Headers)字符串(例如下载照片场景输出的链接)。您可以使用以下选项来执行此操作:

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

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

【讨论】:

以上是关于Autodesk forge 场景链接下载无法解压的主要内容,如果未能解决你的问题,请参考以下文章

无法将图像文件添加到新的照片场景 [autodesk-forge] API Reality Capture

无法获取 Forge 清单 - Autodesk Forge 查看器

Autodesk Forge - 下载的项目名称不同

在 Autodesk Forge 查看器中显示链接文件

如何在 Autodesk Forge Viewer 中嵌入 pdf?

有没有办法链接 Autodesk Forge 存储桶?