【问题标题】:How get a thumbnail in node.js axios from Autodesk Forge如何从 Autodesk Forge 获取 node.js axios 中的缩略图
【发布时间】: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 width="150" height="150"src={`data:image/png;base64,${thumbnail}`}/>

谢谢!

【问题讨论】:

    标签: node.js reactjs autodesk-forge


    【解决方案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' })
    猜你喜欢
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2017-01-29
    • 2021-09-28
    • 2021-11-05
    • 1970-01-01
    • 2018-03-24
    • 2022-10-25
    相关资源
    最近更新 更多