我正在为一门课程开发一个应用程序,但我无法将照片上传工作。我没有遇到其他端点的麻烦,但是这个特殊的端点让我已经坚持了一个星期了。下面我从iNaturalist API reference复制了我遇到问题的部分。
POST / observation_photos
需要验证。 将照片添加到观察中。这仅适用于iNat托管的照片。要添加托管在其他服务上的照片,请参阅POST /观察和PUT /观察/:id。
PARAMS
observation_photo [observation_id]
收到此照片的观察的ID 允许值:有效的iNat观察ID
的文件
照片数据 允许值:多部分照片数据
在前端,我有这个表格。我确保只上传.png图片。
form(role='form', method='post', enctype='multipart/form-data')
div.form-group
input.form-control#image(type='file', accept='png', name='file')
button.btn.btn-default(type='submit') Submit
以下是我在尝试按照API说明执行POST请求时的代码摘录。
var express = require('express');
var router = express.Router();
var Client = require('node-rest-client').Client;
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
router.post('/playground', multipartMiddleware, function(req,res){
client = new Client();
var args = {
parameters:{'observation_photo[observation_id]': '1055033', //id for a record
'file' : req.files.file},
headers:{'Authorization': 'Bearer ' + token}
}
client.post('https://inaturalist.org/observation_photos',args, function(data,response){
console.log(response.body);
res.send(data);
});
}
我想我的困惑是文件参数以及POST端点对该参数的期望。任何帮助将不胜感激。