JavaScript新的formData()。append不适用于上传的文件

时间:2019-05-19 08:51:58

标签: javascript reactjs axios

在我的Reactjs应用程序中,我正在将带有一些数据的上传文件发送到具有AXIOS的API。解决后,我将设置以下代码并将其发送到后端。但是,我无法将文件发送到API。 输入文件并将其发送到API后,“请求网络中的有效负载”标签会始终将上传的文件变量显示为空{}。。我该怎么解决?

uploadFile(event) {
        let file = event.target.files[0];
        let data = new FormData();
        data.append('file', file);

        const files = [
            {
                name: "n1",
                description: "d1",
                file: data,
                business_file_type: 1
            }
        ];
        const project_id = 1;

        const allData = { files, project_id }

        API.post('project/files/upload', allData)
            .then(({ data }) => {
                console.log("success", data);
            })
            .catch((err) => {
                console.log("AXIOS ERROR: ", err);
            })
    }

<input className={classes.input} type="file" id="fileInput" name="ifile" onChange={this.uploadFile} />

1 个答案:

答案 0 :(得分:0)

尝试:将所有内容传递给表单数据。

var currencyRates = $.ajax({
    type: "GET",
    url: 'https://openexchangerates.org/api/latest.json?app_id=' + access_key,   
    dataType: 'jsonp',
    success: function(json) {

        setUSD = function() {
            var USDrate = json.rates.USD;
            console.log("Setting site currency to USD ($)");
            console.log(USDrate);
            var USDsalary;
            document.getElementById('salarySpan').innerHTML = USDsalary;
            console.log(USDsalary);
        }
    }
});