2012-06-18 2 views
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 

되지만 파일 메시지가 없습니다. ..

+0

응용 프로그램/MIME 유형을 등록한 방법이 문제 일 수 있습니다. 파일 브라우저에서 * .csv 파일을 클릭하면 어떻게됩니까? LibreOffice (또는 Excel)가 자동으로 열리나요? 알 수 없거나 등록되지 않은 txt MIME 유형은 항상 브라우저에 표시 될 수 있습니다. –

+0

>> 파일 브라우저에서 * .csv 파일을 클릭하면 어떻게됩니까? LibreOffice (또는 Excel)가 자동으로 열리나요? 불행히도 예, Excel이 자동으로 열림 = ( 매우 비슷한 주제 (결정이없는 경우) - http://stackoverflow.com/questions/7597414/how-to-handle-csv-download-prompt-through-a-post -request-in-rails – AnDragFag

+0

@AnDragFag 브라우저에서 CSV 데이터를 표시하는 스마트 브라우저의 경우 같아요. 이것을 설정하고이 도움말이 필요합니다.'config.action_dispatch.x_sendfile_header = "X-Sendfile"' – Viren

답변

관련 문제