如何使用axios将文件上传到Dropbox

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

我需要使用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

javascript axios dropbox
1个回答
0
投票

您正在使用已正式淘汰的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));
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.