Tôi có GSP này:Làm thế nào để lặp qua tải lên tập tin trong 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>
Nhưng khi tôi cố gắng để xem kết quả trong điều khiển bằng cách gõ:
render(params);
return true;
tôi có kết quả này:
"documentFile":[email protected]4dcf95
Làm cách nào để đọc từng tệp đang được tải lên? Tôi có thể nhận được thông tin sau không?
documentFile:[File,null,File,null] // (if the 2nd and the 4th are not being used)
ps: Tôi đang sử dụng grails 1.2.2
Bạn có số lượng tệp thay đổi trong biểu mẫu của mình hay không? Nếu nó biến, tôi sẽ cập nhật câu trả lời của tôi cho phù hợp. –
nó biến. Tôi đã thêm số vào cuối tên ... nhưng nó vẫn còn lạ vì khi bạn gõ nhiều lần nó sẽ tạo ra mảng "cái gì đó" trong params. – nightingale2k1
Vâng, tôi đã xem qua API Grails và không thể tìm thấy một phương thức truy xuất đối tượng File [] dựa trên các đầu vào của tệp. Servlet API cung cấp phương thức để lấy mảng String [], nhưng tôi đã không xem xét nguồn của nó để xem nó như thế nào. Có lẽ nó có thể được thực hiện với một số công việc thủ công trên yêu cầu HTTP, nhưng đó có thể là quá nhiều công việc. Sử dụng Grails ''request.fileNames' có lẽ là một tương đương hợp lý. –