Tôi có yêu cầu tải tệp lên máy chủ từ ứng dụng web được viết bằng GWT. Phần phức tạp là hộp thoại FileUpload không thể bị dislayed (do vấn đề crunch không gian trên TabPanel). Vì vậy, trên nhấp chuột vào một nút, tôi cần phải:GWT - tải tệp lên máy chủ mà không cần sử dụng hộp thoại Tải lên Tệp tin
- Mở tập tin lựa chọn trực tiếp, mà không làm phiền người sử dụng với một Form thêm chứa một UploadItem bấm
- Bắt đầu tải lên ngay lập tức sau khi lựa chọn tập tin
tôi đã viết code sau trong GWT để mở tập tin hộp thoại chọn trên nhấp chuột nút:
final FileUpload upload = new FileUpload();
upload.setVisible(false);
upload.setName("uploadFormElement");
panel.add(upload);
panel.add(new Button("Select File", new ClickListener()
{ public void onClick(Widget pSender)
{
jsClickUpload(upload.getElement());
MessageBox.showMessage("selected filename: " + upload.getFilename());
}
}));
native void jsClickUpload(Element pElement) /*-{ pElement.click(); }-*/;
Mặc dù điều này không mở file chọn hộp thoại trên nút bấm, nó đồng thời cũng hiển thị hộp thông báo với giá trị trống cho tên tệp.
Vì vậy, những gì tôi cần là chỉ sau khi tệp được chọn, hộp thông báo được hiển thị. Tôi có thể làm cái này như thế nào? Ngoài ra, làm thế nào để tải lên các tập tin thực tế để máy chủ sau này (M
Không, nó không hoạt động Tôi không thể thấy MessageBox sau khi tệp được chọn. Những gì tôi cần là CHỈ sau khi tệp được chọn, tải lên thực tế sẽ nhận được được kích hoạt (MessageBox chỉ là một chủ sở hữu plaace để thử nghiệm, nó sẽ được thay thế bằng mã tải lên servlet thực tế) –
Tôi thay thế d câu trả lời với một ví dụ làm việc. Mã này chạy hoàn toàn tốt cho tôi bằng cách sử dụng GWT 2.4.0 – newnoise
thực sự đánh giá cao sự trợ giúp của bạn tuy nhiên, nó không làm việc cho tôi. Tôi không thể nhìn thấy Window.alert. Tôi đang sử dụng GWT 2.3.0 và tôi đang thử nghiệm tương tự trong trình duyệt FF (phiên bản mới nhất), nhưng tôi không nghĩ rằng nên quan trọng nhiều. –