尝试将压缩的 wkt 文件上传到 here-maps rest 时收到错误请求 400 api
Getting a bad request 400 when trying to upload zipped wkt file to here-maps rest api
我们在为地理围栏上传新图层时遇到 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 上传它,它也可以工作。提前感谢您的帮助!
Edit: I'm getting the following issue from the API: 'Multipart should contain exactly one part but contains 0'
我修好了!
问题是 api 需要表单数据的文件名。此文件名可以作为第三个参数提供,如 here 所述。
所以我基本上将 formData.append('zipfile', content);
更改为 formData.append('zipfile', content, zipfile.zip);
并且成功了。
希望这对以后的人有所帮助!
我们在为地理围栏上传新图层时遇到 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 上传它,它也可以工作。提前感谢您的帮助!
Edit: I'm getting the following issue from the API: 'Multipart should contain exactly one part but contains 0'
我修好了! 问题是 api 需要表单数据的文件名。此文件名可以作为第三个参数提供,如 here 所述。
所以我基本上将 formData.append('zipfile', content);
更改为 formData.append('zipfile', content, zipfile.zip);
并且成功了。
希望这对以后的人有所帮助!