2016-11-11 142 views
0

我正在使用angularjs前端的Spring Jhipster java应用程序。 我的要求是导出CSV文件中的数据,然后将导出的文件下载到浏览器的下载路径。如何在没有servlet的下载路径下从浏览器下载文件

我知道它可以使用servlet完成,但我们没有使用servlet,那么如果没有使用核心java代码的servlet,我该如何实现。

回答

0

我很困惑,如果你正在导出CSV文件,你有文件对象,那么你可以很容易地将此​​文件中FileUtils.copyFile(source, dest);

private static void copyFileUsingChannel(File source, File dest) throws IOException { 
FileChannel sourceChannel = null; 
FileChannel destChannel = null; 
try { 
    sourceChannel = new FileInputStream(source).getChannel(); 
    destChannel = new FileOutputStream(dest).getChannel(); 
    destChannel.transferFrom(sourceChannel, 0, sourceChannel.size()); 
    }finally{ 
     sourceChannel.close(); 
     destChannel.close(); }} 

希望这是有帮助的复制。

+0

感谢Hiren,我不想复制,现在我正在本地系统的某个路径创建csv文件。但是我想把这个路径作为下载文件夹,用户在浏览器中点击导出按钮应该看到导出的文件正在下载。 –

+0

如果文件由JHipster应用程序提供,它将由servlet提供服务,即使它只是来自嵌入式tomcat的默认Servlet,它将从服务器目录提供服务。否则,你可以从nginx服务它。 –