레일에서 이것을 수행 할 수 있는지 궁금합니다.파일을 동적으로 생성하여 사용자 컴퓨터에 다운로드
웹 페이지에 링크가 있습니다. 사용자가 링크를 클릭하면 컨트롤러는 파일을 동적으로 생성합니다 (예 : 1에서 10 사이의 임의의 숫자가 포함 된 텍스트 파일). 파일이 사용자 컴퓨터로 다운로드됩니다. 파일은 서버에 임시로 저장 될 수 있지만 영구적으로 존재해서는 안됩니다. 컨트롤러의
레일에서 이것을 수행 할 수 있는지 궁금합니다.파일을 동적으로 생성하여 사용자 컴퓨터에 다운로드
웹 페이지에 링크가 있습니다. 사용자가 링크를 클릭하면 컨트롤러는 파일을 동적으로 생성합니다 (예 : 1에서 10 사이의 임의의 숫자가 포함 된 텍스트 파일). 파일이 사용자 컴퓨터로 다운로드됩니다. 파일은 서버에 임시로 저장 될 수 있지만 영구적으로 존재해서는 안됩니다. 컨트롤러의
사용 send_data
: 이미 서버에 파일이있는 경우
send_data("4", :filename => "my_awesome_file")
, 당신은 send_file
대신
send_file(filepath, :filename => "my_awesome_file")
http://api.rubyonrails.org/classes/ActionController/DataStreaming.html#method-i-send_data
네, 가능하다고 할 수 있습니다.
가download
조치가 양식에서 제출 PARAMS을 소요하고, 몇 개의 파일을 생성하는 우편으로 그들을 패키지 사용자 정의 클래스로 전송하고,
class DownloadsController < ApplicationController
def download
# ...
send_file CSVConstructor::Constructor.new(...).to_zip
end
end
파일을 반환이 내 애플 리케이션 중 하나에있는 것입니다 통로. 자신의 앱을위한 파일을 생성하는 가장 좋은 방법을 찾아야하지만 유사한 기능을 별도의 클래스로 분기하면 컨트롤러가 계속 켜져있을 수 있습니다.
답변 해 주셔서 감사합니다. – John
답변 해 주셔서 감사합니다. – John