我的 vue 组件像这样上传文件图像:
<template>
<section>
<ul class="media-list">
...
</ul>
</section>
</template>
<script>
export default {
...
props: ['productId'],
methods: {
...
onFileChange(e, index) {
let files = e.target.files,
let formData = new FormData()
formData.append('file', files[0])
axios.post(window.App.baseUrl+'/admin/product/upload-image',
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}
).then(function(){
console.log('SUCCESS!!')
})
.catch(function(){
console.log('FAILURE!!')
});
}
}
}
</script>
因此,如果用户上传文件图像,它将调用 onFileChange 方法
我的路线是这样的:
Route::prefix('admin')->group(function(){
Route::prefix('product')->group(function(){
Route::post('upload-image', 'Admin\ProductController@uploadImage')->name('admin.product.upload-image');
});
});
我的控制器是这样的:
public function uploadImage(Request $request)
{
echo '<pre>';print_r($request->all());echo '</pre>';die();
}
该代码有效。我成功将文件上传到控制器中
但在这里我也想传递另一个参数。我想传递参数productId
我尝试像这样更改代码 axios:
...
axios.post(window.App.baseUrl+'/admin/product/upload-image',
{product_id: this.productId, formData}
...
这没用。结果为空
我怎么解决这个问题?