Как проверить файл в Laravel? Пользовательский способ? [Дубликат]

Вам нужно добавить зависимость JAXB (как это больше не предоставляется по умолчанию в Java 9), и вам нужно использовать Spring Boot 2. Обратите внимание, что если вы используете Java 10 (и, возможно, следующие версии), у вас будет точно такая же проблема, как удаление зависимостей JAXB, было сделано не только для версии Java 9.


Вики-страница Spring Boot о Java 9 перечисляет все, что вам нужно знать для запуска Приложения Spring Boot на Java 9.

Требования к загрузке Spring Boot

Spring Boot 1 не поддерживает его (и не планируется). Spring Boot 2 поддерживает его.

Spring Boot 2 - первая версия поддержки Java 9 (также поддерживается Java 8). Если вы используете 1.5 и хотите использовать Java 9, вы должны обновить до 2.0, так как мы не планируем поддерживать Java 9 в Spring Boot 1.5.x.

Некоторые известные обходные пути

AspectJ

С Java 9, если вам нужно сплести классы из JDK, вам необходимо использовать AspectJ 1.9 (сейчас в RC). Это должно быть временным решением, поскольку Aspect 1.9 GA находится за углом, и Spring Boot обновится до него. Spring AOP должен работать нормально в большинстве случаев с AspectJ 1.8 (по умолчанию в моментальных снимках Spring Boot).

JAXB

При обновлении вы можете столкнуться с следующим :

java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException

Для спящего режима обычно требуется JAXB, который больше не предоставляется по умолчанию. Вам нужно либо добавить зависимость к вашему проекту:


    javax.xml.bind
     jaxb-api
    2.3.0
 

Тестирование

В последней версии maven-surefire-plugin (2.20.1) была введена регрессия, когда выполняемые тесты на Java 9. Вы можете либо понизить до 2.20.0, либо явно добавить один модуль, чтобы предотвратить его включение java.se.ee:


    org.apache.maven.plugins
    maven-surefire-plugin
    
        --add-modules java.base
    

Некоторые известные ограничения

Эти библиотеки еще не имеют полной поддержки Java 9: ​​

  • Apache Cassandra, см. # 10453
  • JSP TLD со встроенным Tomcat, если он не запущен как упакованная война, см. # 10456

Пожалуйста, не стесняйтесь редактировать этот пост, если происходят изменения совместимости Java 9 с Spring Boot.

24
задан Yassi 13 May 2014 в 08:56
поделиться

2 ответа

Чтобы проверить тип mime ввода файла в Laravel, вы можете использовать правило mimes. Не забудьте сопоставить тип mime, обнаруженный с помощью фактического mime файла, который вы предоставляете. Он может различаться на разных серверах.

Например, вы хотите включить добавление и документ Word в форме:

1) в config/mimes.php добавить следующие типы mime:

    'doc'  => array('application/msword', 'application/vnd.ms-office'),
    'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'), 

2) в вашей проверке $rules добавьте следующие элементы:

    'file' => 'required|max:10000|mimes:doc,docx' //a required, max 10000kb, doc or docx file
39
ответ дан Gadoma 27 August 2018 в 13:55
поделиться

Попробуйте это?

'file' => 'required|max:10000|mimes:application/vnd.openxmlformats-officedocument.wordprocessingml.document'

Возможно, вы захотите установить какое-то пользовательское сообщение для ответа:)

2
ответ дан Troyer 27 August 2018 в 13:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: