Web Api 来自 axios 的 2 个调用

Web Api 2 call from axios

当我从 axios 调用 web api 2 时,HttpPostedFileaBase 为空。我不知道哪里出了问题。

    [HttpPost]
    public IHttpActionResult Upload(Config config)
    {
        //config.Name has value
        //config.File is null

    }

这是 axios 调用:

const data = {
        Name:'john',
        File: event.target.files[0] //this has value here
    }


const config = { headers: { 'content-type': 'multipart/form-data' } }
    axios({
        method: 'post',
        url: '/api/upload',
        data: data,
        config
    })
        .then((response) => {
            })
        }).catch(err => console.log(err));

我在 console.log 时可以看到该文件,但是当它到达 api 调用时,它是 null

您应该将文件附加到 formdata。

const formData = new FormData();
formData.append('file',file)

然后

axios({
        method: 'post',
        url: '/api/upload',
        data: formData,
        config
})