symfony - mp3 文件转换为 mpga

标签 symfony file-upload

当我使用 Symfony2 上传 .mp3 文件时,我会上传一个 .mpga 文件。我对图片使用了相同的代码,效果非常好。

我读到它可能与 mime 类型有关,但我不得不说我对此有点迷失!

我什至不知道我应该为此发布代码的哪一部分。我将展示我猜想的一些实体:

public function preUpload()
{
    if (null === $this->file) {
        return;
    }

    $this->url = $this->file->guessExtension();
    $this->alt = $this->file->getClientOriginalName();
}

/**
 * @ORM\PostPersist()
 * @ORM\PostUpdate()
 */
public function upload()
{
    if (null === $this->file) {

        return;
    }

    if (null !== $this->tempFilename) {
        $oldFile = $this->getUploadRootDir() . '/' . $this->id . '.' . $this->tempFilename;
        if (file_exists($oldFile)) {
            unlink($oldFile);
        }
    }

    $this->file->move(
        $this->getUploadRootDir(),
        $this->id . '.' . $this->url
    );
}

最佳答案

audio/mpeg MIME 类型的第一个关联是 mpga 如果您知道只能上传 mp3,我认为重命名文件的最简单方法。

您可以获取原始名称,并可以查看上传的是哪个名称。如果名称中有 mp3,请重命名该文件。

但这是一个已知问题。我有同样的问题。

关于symfony - mp3 文件转换为 mpga,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26038938/

相关文章:

symfony - 如何在 Symfony Controller 中获取 Assets img url

java - 将文件上传到服务器并使用 xml 指向它

php - 教义传承和用户类型

php - Symfony2 FOSUserBundle 不使用 UserManager 提供缓存的用户实体

symfony - 如何在后台 Docker 中运行 Symfony 命令

c# - 进行服务器端验证而不丢失回发数据

javascript - Selenium FindElement 会阻塞,直到文件上传完成

symfony - 使用 Behat 3 测试 Symfony2 电子邮件

linux - 上传文件到远程服务器

java - 如何从 FileItem 获取完整路径