如何从 Autodesk Forge 获取 node.js axios 中的缩略图

Posted

技术标签:

【中文标题】如何从 Autodesk Forge 获取 node.js axios 中的缩略图【英文标题】:How get a thumbnail in node.js axios from Autodesk Forge 【发布时间】:2020-07-06 19:48:22 【问题描述】:

如何获取和解析翻译后的 PNG 缩略图?

我尝试了this,但它不起作用。

后端

get_thumbnail = (access_token,urn) => 
  return new Promise((resolve,reject)=>
      Axios(
        method: "GET",
        url:
          "https://developer.api.autodesk.com/modelderivative/v2/designdata/" +
          encodeURIComponent(urn) +
          "/thumbnail",
        headers: 
          Authorization: "Bearer " + access_token
        
      )
        .then( (response)=> 
          if(response.status == 200 )
            resolve(Buffer.from(response.data).toString('base64'))
          
        )
  )
;

输出字符串大小为 18KB!但它从 77+9UE5HDQoaCgAAAA 开始,而不是标准 PNG iVBORw0KGgoAAAANSU... 并且不在前端显示(反应)

前端

<img  src=`data:image/png;base64,$thumbnail`/>

谢谢!

【问题讨论】:

【参考方案1】:

看起来响应负载在某种程度上没有被正确地视为UINT8Array,所以尝试像这样构造数组:

new Buffer(response.data, 'binary').toString('base64'))

查看更多here

【讨论】:

找到了,感谢链接!这是因为 axios 配置。 responseType: 'arraybuffer' 应该是:Axios( method: "GET", url:"thumbnail url", headers: Authorization: "Bearer " + access_token , responseType: 'arraybuffer' )

以上是关于如何从 Autodesk Forge 获取 node.js axios 中的缩略图的主要内容,如果未能解决你的问题,请参考以下文章

Autodesk Forge Viewer 获取片段位置

Autodesk Forge 从转换后的 DWG 获取清单和元数据

Forge Autodesk_Error_Customtooltip

如何以编程方式显示 pointCloudMarkup?

Autodesk Forge 查看器 - 从“viewer.model.search”和“viewer.getSelection()”获取不同的值 dbId

从 Autodesk Forge 3D 查看器下载文件