2012-05-01 9 views
1

Это написано в моем методе проверки. Проверка размера и пустой загрузки работает, но тип содержимого не является, я что-то пропустил?Тип содержимого, не работающий в стойках

public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { 
    ActionErrors errors = new ActionErrors(); 

    if(file1.getFileSize()==0) 
    { 
    errors.add("file1", new ActionMessage("error.file.required")); 
    } 
    else if(!file1.getContentType().equals("audio/mpeg")); 
    { 
    errors.add("file1",new ActionMessage("error.file.type")); 
    } 
    if(file1.getFileSize()>51200) 
    { 
    errors.add("file1",new ActionMessage("error.file.size")); 
    } 

    return errors; 

ответ

2

Я думаю, что ваше другое, если условие не указано из-за ";" знак, как:

else if(!file1.getContentType().equals("audio/mpeg")); 

Это должно быть следующим:

else if(!file1.getContentType().equals("audio/mpeg")) 
+0

';' это просто глупая ошибка, которая произошла здесь, но «audio/mpeg» не принимает mp3-файлы. я понял, что предоставляю свой ответ :) – Nil

0

сделано с:

else if(!file1.getContentType().equals("audio/mp3")) { ---- } 

Я проверил тип fileuploaded по: String ctype = file1.getContentType(); без кладя любой (например, загрузить любой файл) и распечатать его на странице jsp. Оттуда я узнал, что это аудио/mp3. Теперь все проверки работают./

+0

Я попробовал его только с Chrome, поэтому тип контента (аудио/mpeg) может работать с другими браузерами – Nil