【发布时间】:2019-10-31 07:44:00
【问题描述】:
我有一个 react 应用程序,它是 laravel 应用程序的前端。我正在使用一个简单的图像上传器,它将上传的文件返回到发布路径。在 post 路由的控制器中,请求以字符串而不是实际对象的形式传入。查看我的代码。
onUpload = (picture) => {
this.setState({
pictures: this.state.pictures.concat(picture),
});
var curr = this
const formData = new FormData();
formData.append('file',picture)
console.log(picture[0])
axios
.post('/upload-subitem-image', formData, fileHeaders)
.then(function (response) {
const data = response.data
console.log(data)
})
.catch(error => {
console.log(error);
})
}
当我控制我得到的图片对象时
File {name: "test.png", lastModified: 1553443959805, lastModifiedDate: Sun Mar 24 2019 12:12:39 GMT-0400 (Eastern Daylight Time), webkitRelativePath: "", size: 11695, …}
但是在将它传递给 laravel 以尝试获取文件后,当我尝试执行此操作时它会返回一个字符串。
$data = $request->File();
看起来像
{file:{"[object file]"}
标题如下所示:
const fileHeaders = {
'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
'content-type': 'multipart/form-data',
'Accept': 'application/json',
}
【问题讨论】:
标签: javascript reactjs laravel axios