2017-02-22 103 views
-1

У меня есть требование загрузить файл csv из приложения Spring MVC. У меня есть данные, которые мне нужно включить в файл. Мне нужно создать файл «на лету» в сеансе браузера и загрузить его в пользовательскую систему. Я попытался сделать это решение, как упоминалось здесь: Downloading a file from spring controllersЗагрузите файл из браузера в приложении Spring MVC

Мне не удалось создать csv, и он ищет файл на сервере.

То, что я сделал до сих пор:

Client Side вызова:

$.ajax({ 
     type: "GET", 
     url:"${ctx}/emp/getAttendance?empId=" + emp +"&fileName=" + file, 
     success: function (data) { 
      $('#result_loading').hide(); 
     } 
    }); 

Server Side:

String path = req.getServletContext().getRealPath(""); 
    File file = new File(path + "/" + fileName); 
    file.createNewFile(); 
    FileInputStream inputStream = new FileInputStream(file); 
    resp.setContentType("application/pdf"); 
    resp.setHeader("content-disposition;","attachment;filename=\"download.pdf\""); 
    OutputStream outputStream = resp.getOutputStream(); 
    IOUtils.copy(inputStream, outputStream); 
    outputStream.close(); 

Мне нужен вызов Ajax, чтобы загрузить файл. Я не вижу даже пустой загруженный файл.

Может кто-нибудь помочь мне в этом, где я делаю неправильно.

+0

Обратите внимание на [третий ответ] (http://stackoverflow.com/a/5673375/5221149) вопроса, который вы связали. – Andreas

+0

Mine - это вызов Ajax. Я не думаю, что этот подход работает. – Sri

+0

Что это значит, как работает код на стороне сервера? – Andreas

ответ

0

Вы можете использовать FileSystemResource класс из пружинной структуры в месте

org.springframework.core.io.FileSystemResource 

класс существует запись данных на файл (на физическом сервере) путем создания файла CSV с помощью java.io.File класса и затем передать значение объекта файла конструктору

FileSystemResource(File file) 

и вернуть это в браузер, браузер автоматически откроется окно загрузки после загрузки URL.

Удалите файл после инициализации ресурса файловой системы, и вы будете так же хороши, как никогда не создавали файл.

 Смежные вопросы

  • Нет связанных вопросов^_^