首页 > 解决方案 > 如何从 Autodesk Forge 获取 node.js axios 中的缩略图

问题描述

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

我已经尝试过,但它不起作用。

后端

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 width="150" height="150"src={`data:image/png;base64,${thumbnail}`}/>

谢谢!

标签: node.jsreactjsautodesk-forge

解决方案


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

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

在这里查看更多


推荐阅读