Mapbox 上传 api 不返回 tileset id

编程入门 行业动态 更新时间:2024-10-08 10:56:23

Mapbox <a href=https://www.elefans.com/category/jswz/34/1771255.html style=上传 api 不返回 tileset id"/>

Mapbox 上传 api 不返回 tileset id

我正在尝试通过 uploads API 将文件上传到 Mapbox studio 我已经按照所有步骤进行操作,但它没有返回所需的结果,而是返回了这个

这是我的代码。请帮助。

import AWS from "aws-sdk";
import fs from "fs";
import Uploads from "@mapbox/mapbox-sdk/services/uploads.js";
import mapboxgl from "mapbox-gl";

const uploadsClient = new Uploads({
  accessToken:"MAPBOX_ACCESS_TOKEN",
  mapboxgl: mapboxgl,
});

const getCredentials = async () => {
  return await uploadsClient
    .createUploadCredentials()
    .send()
    .then((response) => {
      console.log("log ", response.body);
      return response.body;
    });
};

const putFileOnS3 = (credentials) => {
  const s3 = new AWS.S3({
    accessKeyId: credentials.accessKeyId,
    secretAccessKey: credentials.secretAccessKey,
    sessionToken: credentials.sessionToken,
    region: "us-east-1",
  });
  return s3.putObject(
    {
      Bucket: credentials.bucket,
      Key: credentials.key,
      Body: fs.createReadStream("book1.jpg"),
    },
    (err, data) => {
      if (err) {
        console.log(err);
      } else {
        console.log("fole uploaded success fully", data);
      }
    }
  );
};

getCredentials().then(putFileOnS3);

根据文档,它应该返回此响应:

{
  "complete": false,
  "tileset": "example.markers",
  "error": null,
  "id": "hij456",
  "name": "example-markers",
  "modified": "{timestamp}",
  "created": "{timestamp}",
  "owner": "{username}",
  "progress": 0
}

但我的回答是

{
  ETag: '"3ed1b49aa52ba769138b7770b38cfa6f"',
  ServerSideEncryption: 'AES256',
  VersionId: 'omlUQOXPS77CJo.c8n4h2.LT.nYKblCL'
}
回答如下:

更多推荐

Mapbox 上传 api 不返回 tileset id

本文发布于:2024-05-30 08:52:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770319.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:上传   Mapbox   api   id   tileset

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!