【发布时间】:2022-01-16 14:02:00
【问题描述】:
我想在我的应用程序中上传文件,并想设置在本地系统中上传后文件应保存的路径。我正在使用以下代码,但在提交按钮上单击时没有响应。请告诉我适用于 gwt 中文件上传的代码。 [代码]
public class FormPanelExample implements EntryPoint {
public void onModuleLoad() {
// Create a FormPanel and point it at a service.
final FormPanel form = new FormPanel();
form.setAction("/myFormHandler");
// Because we're going to add a FileUpload widget, we'll need to set the
// form to use the POST method, and multipart MIME encoding.
form.setEncoding(FormPanel.ENCODING_MULTIPART);
form.setMethod(FormPanel.METHOD_POST);
// Create a panel to hold all of the form widgets.
VerticalPanel panel = new VerticalPanel();
form.setWidget(panel);
// Create a TextBox, giving it a name so that it will be submitted.
final TextBox tb = new TextBox();
tb.setName("textBoxFormElement");
panel.add(tb);
// Create a ListBox, giving it a name and some values to be associated with
// its options.
ListBox lb = new ListBox();
lb.setName("listBoxFormElement");
lb.addItem("foo", "fooValue");
lb.addItem("bar", "barValue");
lb.addItem("baz", "bazValue");
panel.add(lb);
// Create a FileUpload widget.
FileUpload upload = new FileUpload();
upload.setName("uploadFormElement");
panel.add(upload);
// Add a 'submit' button.
panel.add(new Button("Submit", new ClickListener() {
public void onClick(Widget sender) {
form.submit();
}
}));
// Add an event handler to the form.
form.addFormHandler(new FormHandler() {
public void onSubmit(FormSubmitEvent event) {
// This event is fired just before the form is submitted. We can take
// this opportunity to perform validation.
if (tb.getText().length() == 0) {
Window.alert("The text box must not be empty");
event.setCancelled(true);
}
}
public void onSubmitComplete(FormSubmitCompleteEvent event) {
// When the form submission is successfully completed, this event is
// fired. Assuming the service returned a response of type text/html,
// we can get the result text here (see the FormPanel documentation for
// further explanation).
Window.alert(event.getResults());
}
});
RootPanel.get().add(form);
}
}
谢谢
阿曼迪普
【问题讨论】:
-
文件上传了吗?我自己使用 GWT 上传文件时遇到了一些问题,上传工作正常,但没有触发回调。我会试着找出我做了什么来解决它。 (我确实记得我最终在后端编写了自己的服务句柄)
-
没有文件没有上传我不是在服务器端调用代码它是一个客户端java程序所以调用代码没有问题。我不知道如何设置上传文件的位置。
-
@stein 我猜回调没有触发的原因是:你可能没有设置
formPanel.errorReader。如果您的代码与 amandeep 的相同。
标签: gwt file-upload