我输入了
isDraggedItemIsFile = function(e) {
// handle FF
if (e.originalEvent.dataTransfer.files.length == 0) {
return false;
}
// handle Chrome
if (e.originalEvent.dataTransfer.items) {
if (typeof (e.originalEvent.dataTransfer.items[0].webkitGetAsEntry) == "function") {
return e.originalEvent.dataTransfer.items[0].webkitGetAsEntry().isFile;
} else if (typeof (e.originalEvent.dataTransfer.items[0].getAsEntry) == "function") {
return e.originalEvent.dataTransfer.items[0].getAsEntry().isFile;
}
}
return true;
};
$forms.on('drop', function(e) {
if (isDraggedItemIsFile(e)) {
// do something if file
} else{
// is directory
}
});
和控制器功能
<input type="file" name="image[]" multiple="multiple" />
但是所有时间验证器都给我错误
public function upload(Request $request)
{
$user_id = Auth::user()->id;
foreach ($request->image as $image)
{
$this->validate($request,[
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
]);
$imageName = mt_rand() .time().'.'.$image->getClientOriginalExtension();
$img = Image::make($image->getRealPath());
$img->resize(100, 100, function ($constraint) {
$constraint->aspectRatio();
})->save(public_path('images/thumbs').'/'.$imageName);
$image->move(public_path('images'), $imageName);
}
}
答案 0 :(得分:18)
在循环外移动验证并尝试使用规则:
'image' => 'required',
'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'