无法在Symfony2中使用mime-type“application / octet-stream”上传图像

时间:2014-12-03 09:33:45

标签: symfony

让我讲述这个问题。我有一个名为«Image»的表格。它包含一个名为«file»的字段,它被检查为Image实现。这是validation.yml的一部分:

noxaeterna\MainBundle\Model\Image:
constraints:
    - Propel\PropelBundle\Validator\Constraints\UniqueObject:
        fields: hash
        message: "Такое изображение уже существует."
properties:
    name:
        - NotBlank:
            message: "Имя изображения не задано."
        - Length:
            max: 255
            maxMessage: "Длина названия не должна превышать {{ limit }} символов."
    file:
        - NotBlank:
            message: "Изображение не загружено"
        - Image:
            maxSize: 20M
            mimeTypes: ["image/jpeg", "image/gif", "image/png", "image/x-png", "image/x-citrix-png", "image/x-citrix-jpeg", "image/pjpeg"]
            minWidth: 1
            minHeight: 1
            minWidthMessage: "Изображение должно быть не менее {{ limit }} пикселей в ширину."
            minHeightMessage: "Изображение должно быть не менее {{ limit }} пикселей в высоту."
            sizeNotDetectedMessage: "Недопустимый формат изображения: не удалось определить размеры."
            mimeTypesMessage: "Недопустимый формат изображения."
            maxSizeMessage: "Файл слишком большой ({{ size }} байт). Размер не должен превышать {{ limit }}."
            uploadIniSizeErrorMessage: "Файл слишком большой ({{ size }} байт). Размер не должен превышать {{ limit }}."
            uploadFormSizeErrorMessage: "Файл слишком большой ({{ size }} байт). Размер не должен превышать {{ limit }}."
            uploadErrorMessage: "Ошибка загрузки изображения."

那么问题是什么?当我尝试上传一些具有mime-type«application / octet-stream»且具有.jpg或.png等正常扩展名的图像时,我看到一个错误,告诉我图像的大小无效。然后我尝试通过var_dump()显示«Image»的对象(实现),我看到«size»字段为0(这就是为什么显示无效大小的错误)。

所以我用这些图像来确定它们的大小并成功下载它们(我必须说有一个允许的mime-type它的效果还不错)?

P.S。我对自己糟糕的英语技能感到抱歉。我一如既往地感谢任何回答!

有新信息!。使用“application / octet-stream”mime-type发送大于几兆字节的所有文件。

1 个答案:

答案 0 :(得分:6)

我添加了我的评论,将其作为答案解决了,所以问题会得到答案:

  

有新信息!。使用“application / octet-stream”mime-type发送大于几兆字节的所有文件。

问题是php.ini中的 post_max_size upload_max_filesize 限制了上传的大小。