我需要使用axios
将文件上传到Dropbox。这是我的代码:
const uploadToExternalService = async function uploadToExternalService(token, content) {
try {
let res = await axios({
url: 'https://api-content.dropbox.com/1/files_put/auto/'+'file_name',
method: 'put',
// timeout: 8000,
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'text/plain',
body: content
}
})
if(res.status == 200){
// test for status you want, etc
console.log(res.status)
}
if(res.status == 400){
console.log(res)
}
return res.data
}
catch (err) {
console.error(err);
}
}
uploadToExternalService(SECRET_KEY, req.file).then(res => console.log(res));
我遇到错误请求失败,状态码为400
您正在使用已正式淘汰的Dropbox v1 API。为什么不使用v2?
对于您的问题,请尝试将正文发送到headers
之外
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'text/plain'
},
body: content
更正的代码:
const uploadToExternalService = async function uploadToExternalService(token, content) {
try {
let res = await axios({
url: 'https://api-content.dropbox.com/1/files_put/auto/'+'file_name',
method: 'put',
// timeout: 8000,
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'text/plain'
},
body: content
})
if(res.status == 200){
// test for status you want, etc
console.log(res.status)
}
if(res.status == 400){
console.log(res)
}
return res.data
}
catch (err) {
console.error(err);
}
}
uploadToExternalService(SECRET_KEY, req.file).then(res => console.log(res));