讓我來說說這個問題。我有一個叫做«圖像»的表單。它包含一個稱爲「文件」的字段,並將其檢查爲圖像實現。這裏是validation.yml的一部分:無法在Symfony2中使用MIME類型的「application/octet-stream」上傳圖像
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類型「application/octet-stream」的圖像並具有普通擴展名(如.jpg或.png)時,我看到一個錯誤,它告訴我圖像的大小無效。然後我嘗試通過var_dump()顯示«Image»的對象(一個實現),我看到«size»字段爲0(這就是顯示無效大小錯誤的原因)。
那麼,我已經做了這樣的圖像,以確定他們的大小,併成功下載(我必須說,與允許的MIME類型之一,它工作得很好)?
P.S.我很抱歉我英語不好。並一如既往,我會感謝任何答案!
有新信息!。所有大於幾兆字節的文件都以«application/octet-stream»MIME類型發送。
您在php.ini中檢查了** post_max_size **和** upload_max_filesize **嗎? – 2014-12-03 09:51:44
我忘了它。我會在更改它們的值時回答。 – Razip 2014-12-03 10:03:11
@MarcelBurkhard,非常感謝! – Razip 2014-12-03 10:11:50