2010-03-01 4 views

ответ

1

Да Это можно сделать, по крайней мере, в DWR 3.

0

Пример, который возвращает первенствовать для загрузки с клиентом:

// Java сторона:

public FileTransfer getExcel(Parametros param){ 
    byte[] result = <here get data>; 
    InputStream myInputStream = new ByteArrayInputStream(result); 
    String excelFormat = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
    FileTransfer dwrExcelFile = new FileTransfer("excel.xlsx", excelFormat, myInputStream); 
    return dwrExcelFile; 
} 

// Javascript сторона:

function downloadExcelFile() { 
    dwr.engine.setTimeout(59000); 
    var params = <params_to_send>; 
    <Java_class>.getExcel(params, {callback:function(dataFromServer) { 
    downloadExcelCallback(dataFromServer); 
    }}); 
} 

function downloadExcelCallback(data) { 
    dwr.engine.openInDownload(data); 
}