Я пишу класс на стороне сервера в smartGWT, который извлекает запись из таблицы и загружает двоичный объект в виде файла из базы данных. Цель состоит в том, чтобы загрузить вложенный двоичный файл на локальный компьютер.
Мне сказали, что я могу использовать DSRequest.getUploadedFile(attachment)
для загрузки файла, но, глядя на него, похоже, что этот метод не загружает загруженный файл из базы данных для загрузки, а получает файл для загрузки в базу данных.
Есть ли способ получить файл из базы данных и вернуть его пользователю в качестве загрузки в коде на стороне сервера? Мы знаем, что можем сделать это в коде на стороне клиента, но мы хотели бы иметь возможность делать это на сервере.
Вот как я получаю запись, содержащую файл, который я хочу отправить пользователю.
DSRequest dsReq = new DSRequest("table", "fetch");
dsReq.setCriteria("criteria", processFlowData.getVariableMap().get("critera"));
DataSource ds = dsReq.getDataSource();
DSResponse dsResp = ds.execute(dsReq);
if (dsResp.getStatus() < 0) {
//Handle Errors
} else {
if (!dsResp.getRecord().isEmpty()) {
//Download File Here
}
}
Я использую Eclipse Kepler, SmartGWT, Java EE.