Я получаю gwt-upload , работающий в приложении GAE. Как предложил , я реализовал Custom UploadAction для обработки хранения файла в хранилище данных. Код выглядит так:
public String executeAction(HttpServletRequest request,
List<FileItem> sessionFiles) throws UploadActionException {
logger.info("Starting: DatastoreUploadAction.executeAction");
String executeAction = super.executeAction(request, sessionFiles);
for (FileItem uploadedFile : sessionFiles) {
Long entityId = new Long(2001); // This is where i wanna use a request parameter
InputStream imgStream;
try {
imgStream = uploadedFile.getInputStream();
Blob attachment = new Blob(IOUtils.toByteArray(imgStream));
String contentType = uploadedFile.getContentType();
appointmentDao.setAppointmentAttachment(entityId, attachment,
contentType);
} catch (IOException e) {
logger.error("Unable to store file", e);
throw new UploadActionException(e);
}
}
return executeAction;
}
Как видите, класс DAO требует, чтобы "EntityID" сохранял загруженный файл в хранилище данных. Теперь я работаю с жестко запрограммированным значением, и все идет хорошо, но я бы хотел, чтобы entityID отправлялся клиентом в качестве параметра запроса. Виджет, который выполняет загрузку, является MultiUploader:
private MultiUploader defaultUploader;
Возможно ли для MultiUploader или любого другого виджета установить параметр запроса, чтобы я мог использовать его в моем UploadAction?