我已经成功上传了这种格式(jpeg,png,gif),但不是jpg格式没有上传。
sapply(Reduce(`data.frame`, split.default(df, seq_along(df)), accumulate = TRUE), function(i)
sum(rowSums(i) == ncol(i)))
#[1] 20 15 9 7 5
我的问题就是这样!为什么JPG格式无法上传。
编辑 dd列出以下内容:
public function store(Request $request)
{
$images = array();
if($request->hasFile('images')){
foreach ($request->file('images') as $image) {
$path = $image->store('images');
$images[] = $path;
}
}
dd($request->file('images'));
}
答案 0 :(得分:1)
您应该添加
$this->validate($request, [
'images' => 'required|image|mimes:jpeg,png,jpg,gif'
])
答案 1 :(得分:0)
通过添加以下内容检查刀片文件:
<input type="file" accept="image/*" /> <!-- all image types -->
答案 2 :(得分:0)
让我引导您完成所有步骤,以免您错过任何内容。
第1步:创建一个控制器以显示表单并处理文件上传
class FileUploadController extends Controller
{
public function showUploadForm(){
return view('form');
}
public function upload( Request $request ){
$this->validate( $request, [
'images' => 'required',
'images.*' => 'image|mimes:jpeg,png,jpg,gif'
]);
$images = [];
foreach($request->file('images') as $image){
$images[] = $image->store('image');
}
}
}
步骤2:在web.php文件上定义路由:
Route::get('/upload', 'FileUploadController@showUploadForm');
Route::post('/upload', 'FileUploadController@upload');
第3步:文件上传表单:
<form action="/upload" enctype="multipart/form-data" method="post">
@csrf
<input type="file" name="images[]" multiple>
<button>Upload</button>
</form>
现在,如果您上传一个或多个文件,则应将所有文件都上传到storage/app/images/
目录中。
注意:
不要忘记确保upload_max_filesize
文件上php.ini
的值。您可以指定更大的值,以便可以轻松上传大文件。
让我知道您是否仍然需要帮助。
答案 3 :(得分:0)
如果您要验证数据,请确保将 |image|
替换为 |mimes:..|
。如下
$this->validate($request, [
'images' => 'required|mimes:jpeg,png,jpg,gif'
])
请注意,我没有在图像验证中使用 |image|
,而是使用了 mimes:jpeg,png,jpg,gif
,因为出于某种原因,|Image|
接受除 jpg/jpeg 之外的所有图像格式。
快乐编码!