Я пишу класс на стороне сервера в smartGWT, который извлекает запись из таблицы и загружает двоичную blob как файл из базы данных. Цель состоит в том, чтобы загрузить бинарное файловое приложение на локальный компьютер.Файл загрузки SmartGWT ~ DSRequest
Мне сказали, что я могу использовать 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.