在尝试将压缩的wkt文件上传到here-maps rest api时收到错误的请求400

问题描述 投票:0回答:1

上载用于地理围栏的新图层时,fleet.ls.hereapi.com出现问题。

const myId = 'MYLAYER'; // just a id to check
zip.file('data.wkt', `NAME\tWKT\n${myId}\t${wkt}`);
const content = await zip.generateAsync({ type: 'nodebuffer' });
const formData = new FormData();
formData.append('zipfile', content);
await axios.post(config.HERE_MAPS_UPLOAD_ENDPOINT, formData, {
  headers: {
    'content-type': 'multipart/form-data',
  },
  params: {
    apiKey: config.HERE_MAPS_REST_API_KEY,
    layer_id: myId,
  },
});

我们收到一个错误的请求,没有任何消息,也不知道问题出在哪里。相同的实现也可以在前端中使用(“ blob”作为zip类型)。是否有参数可以从api获取更好的错误消息?我们从本教程中获得了有关如何实现它的说明:https://www.youtube.com/watch?v=Ayw9GcS1V-8,正如我提到的,它在前端可以正常工作。如果我在节点中写入文件并通过curl上传它,它也可以工作。谢谢您的提前帮助!

编辑:我从API收到以下问题:“多部分应该只包含一个部分但包含0”]

node.js multipartform-data form-data jszip here-maps-rest
1个回答
0
投票

我固定了!问题在于api需要表单数据的文件名。该文件名可以作为here中所述的第三个参数提供。

所以我基本上将formData.append('zipfile', content);更改为formData.append('zipfile', content, zipfile.zip);,并且可以正常工作。

希望这会在将来对您有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.