php - Laravel - 上传 mp3 文件失败

标签 php mysql laravel

我在上传 mp3 文件时遇到问题

每次发送表单时,我都会收到“找不到文件”的消息。

这就是我从我的 POST 数据中得到的:

IMAGE OF POST DATA

这是 Controller :

public function Display()
{
    return view('pages.new');
}


public function Post(Request $request)
{
    $rules = [
        'name' => ['required'],
        'sources' => ['required'],
        'cover' => ['required'],
        'resume-podcast' => ['required'],
    ];

    $validator = Validator::make($request->all(), $rules);

    $pathimg = $request->file('cover')->store('/audio/cover');
    $pathsources = $request->file('sources')->store('/audio/sources');

    $podcasts = Audio::create(
            [
            'name' => request('name'),
            'user_id' => auth()->id(),
            'sources' => $pathsources,
            'cover' => $pathimg,
            'description' => request('resume'),
        ]);



    return($pathsources);
    flash("Yes !")->success();
}

这是 View :

 <form action="/new" method="POST" enctype="multipart/form-data">
        {{ csrf_field() }}
        <div class="form-group" >
            <label for="exampleInputPassword1">Nom podcast</label>
            @if($errors->has('name'))
                <p class="bg-warning"> {{ $errors->first('name') }}</p>
            @endif
            <input class="form-control" name="name" id="name" type="text" aria-describedby="emailHelp" placeholder="Nom du podcast">
        </div>
        <div class="form-group">
            <label for="exampleInputPassword1">Description du podcast</label>
            @if($errors->has('resume-podcast'))
                <p class="bg-warning"> {{ $errors->first('resume-podcast') }}</p>
            @endif
            <input class="form-control" name="resume-podcast" id="resume-podcast" type="text" aria-describedby="emailHelp" placeholder="Description rapide">
        </div>
        <div class="form-group">
            <label for="exampleInputPassword1">Source (url)</label>
            @if($errors->has('sources'))
                <p class="bg-warning"> {{ $errors->first('sources') }}</p>
            @endif
            <input class="form-control" id="sources" name="sources" type="file">
        </div>
        <div class="form-group">
            <label for="exampleInputPassword1">Cover (url)</label>
            @if($errors->has('cover'))
                <p class="bg-warning"> {{ $errors->first('cover') }}</p>
            @endif
            <input class="form-control" id="cover" name="cover" type="file>
        </div>
        <input type="submit" class="btn btn-primary btn-block" value="Ajouter podcast">
    </form>
                </div>
            </div>
        </div>

我看到这是一个反复出现的问题,但没有找到任何解决方案:( 我已经尝试使用 mimes:audio/mpeg 但没有...

最佳答案

您遇到该问题的原因有 4/5。

1 - 您正在上传一个大文件并且没有更改 php.ini 文件以允许文件大小超过特定值。改变这些变量的值。

post_max_size = 2G
or 500M
upload_max_filesize=500M

2 - 您已经更改了 php.ini 但没有重新启动服务器。

3 - 你弄乱了路线。

4 - 您的 HTML 表单不正确。你可能错过了:

enctype="multipart/form-data"
Also,
<input type="file" name="pic" accept="audio/*">

5 - 你没有改变

file_uploads = On
``` in php.ini file

关于php - Laravel - 上传 mp3 文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49317099/

相关文章:

php - 如何在 Vue 3 中使用 Laravel toastr 包

mysql - 对 MySQL 结果的子集进行排名

mysql - phpMyAdmin 表搜索返回空结果,但 SQL 选择适用于特定表

php - 如何在单个查询中根据 WHERE 子句有条件地选择要 SELECT 的列?

php - fopen() : Filename cannot be empty (laravel 5. 4)

laravel - 使用 Laravel 文件系统选择 Amazon S3 存储类别

php - 如何在 laravel 中显示分页?

php - Laravel:如何包含一个库?

php - 从 Laravel 命令中清除控制台

php - 注销不会破坏 session