英的
我尝试在GXT中创建一个表单来上传文件,但我在网上看到了更多的例子,我没能使它工作一个简单的FileUploadField来本地保存文件。
感谢您对一些示例项目的帮助,我可以帮助实现这一目标。
西班牙语的
他是一个非常精致的人,他们是一个非常简单的文件,他们是一个非常简单的文件,而不是简单的文件。这个文件是一个地方性的文件。
Agradeceria su ayuda con algun proyecto de ejemplo donde me pudieran ayudar a realizar este fin。
代码片段
formPanel = new FormPanel();
formPanel.setBodyBorder(false);
formPanel.setHeaderVisible(false);
formPanel.setAction(GWT.getModuleBaseURL() + "fileUpload");
formPanel.setEncoding(Encoding.MULTIPART);
formPanel.setMethod(Method.POST);
formPanel.setButtonAlign(HorizontalAlignment.CENTER);
formPanel.setHeaderVisible(true);
fileUploadField = new FileUploadField();
fileUploadField.setName("fileName");
fileUploadField.setAllowBlank(false);
fileUploadField.setFieldLabel("Archivo");
fileUploadField.addListener(Events.OnChange, new Listener<BaseEvent>() {
public void handleEvent(BaseEvent BaseEvent) {
aSubmitButton.setEnabled(true);
}
});
aSubmitButton = new Button("OK");
aSubmitButton.setEnabled(false);
aSubmitButton.setId("submit_button");
aSubmitButton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent inButtonEvent) {
formPanel.submit();
}
});
上面的代码是FormPanel和FileUploadField的声明。
答案 0 :(得分:0)
我们使用gwtupload-0.6.3-compat.jar库来完成这项工作。
基本上,我们的想法是,在服务器端,您需要创建一个servlet,它将接受您上传的文件。提到的库提供了UploadAction servlet扩展,方便了。
在客户端,您可以使用gwtupload组件之一。例如,我们使用MultiUploader。这就是几行代码。主要代码在监听器中:
private IUploader.OnFinishUploaderHandler onFinishUploaderHandler = new IUploader.OnFinishUploaderHandler() {
public void onFinish(IUploader uploader) {
if (uploader.getStatus() == Status.SUCCESS) {
// What you want to do when file is uploaded.
}
}
};
其余部分由组件负责。由于该库是用于GWT的,因此它附带了源代码,因此您可以看到它在幕后所做的事情并在代码中阅读大量注释。
当然可以免费使用。