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-Agent
和 Accept
标头(根据 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 查看器