У меня есть контроллер, который устанавливает соединение с URL для получения файла CSV.
Я могу отправить файл в ответ, используя следующий код, это прекрасно работает.
def fileURL = "www.mysite.com/input.csv"
def thisUrl = new URL(fileURL);
def connection = thisUrl.openConnection();
def output = connection.content.text;
response.setHeader "Content-disposition", "attachment;
filename=${'output.csv'}"
response.contentType = 'text/csv'
response.outputStream << output
response.outputStream.flush()
Однако я считаю, что этот метод не подходит для большого файла, так как весь файл загружается в память контроллеров.
Я хочу иметь возможность читать фрагмент файла по фрагменту и записывать файл в фрагмент ответа по фрагменту.
Есть идеи?