Was ich versuche, ein Bild Uploader mit Laravel setzen 5.Laravel 5: die move() Funktion nicht die Bilddatei hochgeladen speichern
Hier ist die Form.
<form action="/edit/{{$id}}" method="POST" enctype="multipart/form-data">
{!! csrf_field() !!}
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<input type="hidden" name="_method" value="PUT">
//There are other tags (including other input) here
<input type="file" name="pic" accept="image/*">
<input type="submit" value="Apply Changes">
</form>
Hier ist die Controller-Funktion, die von den form
oben ausgeführt werden.
public function update($id)
{
$this->model->find($id)->fill($this->request->all())->save();
if ($this->request->hasFile('pic')) {
$file = $this->request->file('pic');
$name = $file->getClientOriginalName();
$file->move('assets/serviceimages/', $name);
}
return redirect('/blahblah');
}
Wie Sie vielleicht bemerkt haben, diese speichert nicht die hochgeladene Datei unter dem assets/serviceimages/
Verzeichnis, das, was ich versucht habe ist.
Grundsätzlich habe ich this tutorial verfolgt, aber anscheinend vermisse ich etwas und völlig ahnungslos darüber, was es ist, auch nachdem ich einen Blick auf die API documentation hatte.
Innerhalb der if
Erklärung der Controller-Funktion wurde bestätigt, dass die $file
und $name
hatten, was ich erwartet hatte.
Daher vermute ich, dass das Problem in der move()
Funktion liegt.
Jeder kleine Ratschlag wird geschätzt, da dies das erste Mal ist, dass ich versucht habe, einen Uploader einzurichten.
Ist der Pfad existiert tatsächlich und ist es, die richtigen Berechtigungen? Ihr Pfad, in dem gerade versucht wird, zu speichern, ist '/ public/assets/serviceimages /'. Abgesehen davon haben Sie die Protokolle überprüft? – Ian