4
안녕하세요! 자동 생성 된 qwerty.csv 파일을 다운로드하고 싶지만 파일 "12345"만 반환합니다. 너 나 좀 도와 줄 수있어?csv 파일의 send_data가 파일이 아닌 파일의 텍스트를 반환합니다.
UI
<script type="text/javascript">
function getCsv() {
var ids = getSelectedRecordIds();
$.post('/payments/form_csv.csv', { ids: ids }, function(data) {});
}
</script>
컨트롤러 콘솔
Started POST "/payments/form_csv.csv" for 127.0.0.1 at 2012-06-18 18:18:11 +0400
Processing by PaymentsController#form_csv as CSV
Parameters: {"ids"=>["18\n\t "]}
Rendered text template (0.0ms)
Sent data qwerty.csv (0.4ms)
Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.0ms)
에서
def form_csv
csv_string = CSV.generate do |csv|
csv << ["12345"]
end
respond_to do |format|
format.csv {
send_data csv_string, :type => 'text/csv; charset=utf-8; header=present', :disposition => "attachment; filename=qwerty.csv", :filename => "qwerty.csv"
}
end
end
되지만 파일 메시지가 없습니다. ..
응용 프로그램/MIME 유형을 등록한 방법이 문제 일 수 있습니다. 파일 브라우저에서 * .csv 파일을 클릭하면 어떻게됩니까? LibreOffice (또는 Excel)가 자동으로 열리나요? 알 수 없거나 등록되지 않은 txt MIME 유형은 항상 브라우저에 표시 될 수 있습니다. –
>> 파일 브라우저에서 * .csv 파일을 클릭하면 어떻게됩니까? LibreOffice (또는 Excel)가 자동으로 열리나요? 불행히도 예, Excel이 자동으로 열림 = ( 매우 비슷한 주제 (결정이없는 경우) - http://stackoverflow.com/questions/7597414/how-to-handle-csv-download-prompt-through-a-post -request-in-rails – AnDragFag
@AnDragFag 브라우저에서 CSV 데이터를 표시하는 스마트 브라우저의 경우 같아요. 이것을 설정하고이 도움말이 필요합니다.'config.action_dispatch.x_sendfile_header = "X-Sendfile"' – Viren