【发布时间】:2021-02-03 02:37:37
【问题描述】:
我创建了一个 livewire 组件 Avatar,内容如下:
use Livewire\Component;
use Livewire\WithFileUploads;
class Avatar extends Component
{
use WithFileUploads;
/**
* @var \Livewire\TemporaryUploadedFile
*/
public $photo;
public function updated()
{
$this->validate([
'photo' => [
'image',
'max:4096',
],
]);
$file = $this->photo->store('upload');
}
public function render()
{
return view('livewire.profile.avatar');
}
}
这是视图:
<div>
<div class="card">
<div class="card-body">
<form>
<input type="file" accept="image/*" wire:model="photo">
</form>
</div>
</div>
</div>
我不确定我错过了什么,但这并没有上传到我的 Laravel 应用程序中的公共目录。任何人都可以给我一些帮助吗?谢谢!
【问题讨论】:
-
文件夹将上传到
/storage/app/uploads/。您可以在config/filesystem.php中指定符号链接 -
非常感谢您提供此信息。我对 Laravel 很陌生,我仍在探索这个框架。再次感谢您给我这些信息。
-
没问题。此外,您应该在视图中添加一些错误处理,以便在验证失败时通知用户。如果您通知他们上传成功也很好。