2016-08-13 38 views
1

我在文檔中閱讀了「下載文件」部分,該部分用於將文件下載到用戶的計算機。因爲它基於CreateExportDisplay和FileDescriptor,我的問題是我已經將數據庫中的文件存儲在Blob字段中,我想從數據庫將它們下載到用戶的計算機,CreateExportDisplay中是否有任何實現要做?使用CreateExportDisplay從數據庫下載文件

回答

1

您可以使用標準的實施ExportDataProvider的 - ByteArrayDataProvider提供的字節數組:

public class BlobFileBrowse extends AbstractLookup { 
    @Inject 
    protected Table<BlobFile> blobFilesTable; 

    @Inject 
    protected ExportDisplay exportDisplay; 

    public void downloadContent() { 
     BlobFile blobFile = blobFilesTable.getSingleSelected(); 

     exportDisplay.show(new ByteArrayDataProvider(blobFile.getContent()), 
       "my-blob.dat", ExportFormat.OCTET_STREAM); 
    } 
} 

你也可以實現自己的ExportDataProvider與ExportDisplay使用它。