首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Livewire文件上传未验证,并正在返回一个Livewire\TemporaryUploadedFile实例

Livewire文件上传未验证,并正在返回一个Livewire\TemporaryUploadedFile实例
EN

Stack Overflow用户
提问于 2022-03-23 21:28:39
回答 1查看 1.2K关注 0票数 1

因此,我有一个Laravel应用程序,出于某种原因,Livewire没有按照文档处理文件上传。这导致我无法保存或验证文件的大小和/或mimetype。

我完全复制了文档(https://laravel-livewire.com/docs/2.x/file-uploads)中提供的示例(从文档中复制和粘贴),当我上传一个文件时,我总是得到一个Livewire/TemporaryUploadedFile实例,它不允许我进行验证。在我的实际应用程序中,我需要限制上传文件的文件大小以及文件类型(.wav、.ogg、.mp4)。

为了清晰起见,我将从文件中复制文件内容--但正如我已经说过的,我复制并粘贴了给出的示例中的文件内容:

-上传-Photo.blde.php

代码语言:javascript
运行
复制
    <input type="file" wire:model="photo">

    @error('photo') <span class="error">{{ $message }}</span> @enderror

    <button type="submit">Save Photo</button>
</form>

-- UploadPhoto.php

代码语言:javascript
运行
复制
<?php

namespace App\Http\Livewire;

use Livewire\Component;
use Livewire\WithFileUploads;

class UploadPhoto extends Component
{

    use WithFileUploads;

    public $photo;

    public function updatedPhoto()
    {
        $this->validate([
            'photo' => 'image|max:1024', // 1MB Max
        ]);
    }

    public function save()
    {
        dd($this->photo);
    }



    public function render()
    {
        return view('livewire.upload-photo');
    }
}

我还做了一个快速屏幕显示,说明实时验证是如何无法检测到文件类型的:https://www.dropbox.com/s/5981v5gncdcwc7d/2022-03-23_21-25-06.mp4?dl=0

任何帮助都会得到认可。

谢谢

安东尼

EN

回答 1

Stack Overflow用户

发布于 2022-10-17 11:39:08

看上去差不多对。现在可以将TemporaryUploadedFile保存到“photos_directory”

代码语言:javascript
运行
复制
    public function save()
    {
        dd($this->photo);
        $this->photo->store('photos_directory');
    }

根据文献记录https://laravel-livewire.com/docs/2.x/file-uploads

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71594254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档