2015-04-10 3 views
0

Я отправляю видеофайл вместе с некоторыми подробностями пользователя в приложение для рисования, используя MultipartRequest, данные пользователя добавляются в hashmap Map<String, String> myMap; со стороны сервера Я загрузил свой видеофайл. asMultipartFormData();.asFormUrlEncoded() для извлечения данных из hashMap <String, String>

Я пытался извлечь свою карту, используя. asFormUrlEncoded(); но использует Map<String, String[]>

Так что я только был в состоянии получить одно значение из моей хэш-карты, если я пытаюсь получить больше с помощью этого кода

for(int i =0; i < myMap.size(); i++){ 
      String param = "param" + (i + 1); 
      System.out.println(myMap.get(param)[i]);  
     } 

Я получаю сообщение об ошибке arrayOutOfBounds, существует ли альтернативное решение для извлечения данных из MultipartFormData, или я могу реализовать свой цикл по-другому?

Возможно, я не должен использовать .asFormUrlEncoded(); вообще, чтобы получить хэш-карту?

EDIT

Я доработан мой код, чтобы использовать итератор

Iterator<String> myVeryOwnIterator = myMap.keySet().iterator(); 
     while(myVeryOwnIterator.hasNext()) { 
      String key=(String)myVeryOwnIterator.next(); 
      String[] value= myMap.get(key); 
      System.out.println(key + " " + value); 
     } 

Это печатает мой ключ, но возвращает Ljava.lang.String;@ для значений, я думаю, что это происходит потому, что .asFormUrlEncoded(); ожидает <String, string[]>, но моя hashMap использует <String, String> любое решение?

+1

Я добавил 'playframework' тег – ccheneson

ответ

0

Это было решение:

Iterator<String> myVeryOwnIterator = myMap.keySet().iterator(); 
    while(myVeryOwnIterator.hasNext()) { 
     String key=(String)myVeryOwnIterator.next(); 
     String[] value= myMap.get(key); 
     System.out.println(key + " " + value[0]); 
    } 
Смежные вопросы