mam to GSP:Jak iteracyjne nad przesłanych plików w Grails
<g:uploadForm name="myForm" action='save'>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='submit' value='Submit'/>
</g:uploadForm>
Ale gdy próbowałem wyświetlić wynik w kontroler wpisując:
render(params);
return true;
Mam ten wynik:
"documentFile":[email protected]4dcf95
Jak czytać każdy przesyłany plik? Czy mogę uzyskać następujące informacje?
documentFile:[File,null,File,null] // (if the 2nd and the 4th are not being used)
PS: Używam Grails 1.2.2
Czy masz zmienną liczbę plików w swojej formie, czy będzie to zawsze cztery? Jeśli jest zmienna, odpowiednio zaktualizuję swoją odpowiedź. –
jest zmienna. Dodałem numer na końcu nazwy ... ale wciąż jest to dziwne, ponieważ po wpisaniu wiele razy wygeneruje tablicę "czegoś" w parametrach. – nightingale2k1
Tak, przeglądałem interfejs API Grails i nie mogłem znaleźć metody, która pobiera obiekt File [] na podstawie danych wejściowych pliku. Interfejs API Servlet udostępnia metodę przechwytywania tablicy String [], ale nie przyjrzałem się jej źródłowi, aby zobaczyć, jak to działa. Prawdopodobnie można to zrobić za pomocą ręcznej pracy nad żądaniem HTTP, ale to chyba za dużo pracy. Używanie 'request.fileNames 'Grails jest prawdopodobnie rozsądnym odpowiednikiem. –