我有一个问题,我无法解决它。我读了很多论坛和问题,但它没有解决。
问题是
$photos = $request->file('file');
return var_dump($photos);
带来空。我试图找到错误,但我无法
我想将图像存储在服务器上和表中,然后连接到另一个产品表, 首先在输入中写入一些数据,例如名称,类别,然后在另一个选项卡使用Dropzone上传图像之后,并将其一起保存一次。
我正在使用罗文温斯降落区。
我的。刀片.php
<form method="POST" enctype="multipart/form-data" action="{{ route('product.createnew') }}">
// Other Products inputs ..
//Uploads
<vue-dropzone
ref="myVueDropzone"
id="dropzone"
:options="dropzoneOptions">
</vue-dropzone>
// / form and scripts section
<script>
var url = "{{ route('product.createnew') }}";
console.log(url);
var app = new Vue({
el: '#app',
data: function () {
return {
dropzoneOptions: {
url: url,
thumbnailWidth: 150,
maxFilesize: 2,
maxFiles: 2,
acceptedFiles: ".jpeg,.jpg,.png,.gif",
autoDiscover : true,
clickable : true,
uploadMultiple :true,
addRemoveLinks:true,
headers: {
"X-CSRF-TOKEN": document.head.querySelector("[name=csrf-token]").content
},
},
radioButton: '0',
}
},
methods: {
deleteDropFile(index) {
this.dropFiles.splice(index, 1)
},
}
});
我的创建控制器
public function create(Request $request)
{
$validator = Validator::make($request->all(), [
//Other products input
'file' => 'nullable|mimes:jpeg,jpg,png,gif|max:2048',
]);
//$products = new Products
//$products->save();
$photos = $request->file('file');
return var_dump($photos);
if (!is_array($photos)) {
$photos = [$photos];
}
for ($i = 0; $i < count($photos); $i++) {
$photo = $photos[$i];
$savename = sha1(time() . '.' . $request->get('name'))."_$i";
$images = new ProductImages ([
'name' => $request->get('name'),
'post_id'=> $products->id,
'path'=> public_path('uploads') . '/' . $savename,
'main'=> 0,
]);
$images->save();
Image::make($photo)
->resize(250, null, function ($constraints) {
$constraints->aspectRatio();
})
->save(public_path('uploads'). '/' . $savename);
$photo->move(public_path('uploads'), $savename);
}
return redirect()->back();
}
我的路线
Route::group(['prefix' => 'product'], function () {
Route::get('/create', 'ProductController@index')->name('product.create'); //View
Route::post('/createnew', 'ProductController@create')->name('product.createnew'); //Post
});
毕竟我发现了问题所在。 这是验证
'file' => 'nullable|mimes:jpeg,jpg,png,gif|max:2048',
抛出错误。
谢谢