2014-02-22 2 views
1

Axlsx usind send_file에서 생성 한 .xlsx 파일을 보내려고합니다. 제대로 작동에 WEBrick 서버를 사용하여 디버그에서rails send_file이 iis와 작동하지 않습니다.

send_file "#{RAILS_ROOT}/public/excel/test.xlsx" 

하지만, 프로덕션 서버 (Windows 서버 IIS와 헬리 동물원 2008 R2)에 비어/손상 XLSX 파일을 전송합니다.

프로덕션 서버의 경로에있는 파일이 비어 있지 않습니다.

어떻게 해결할 수 있습니까? 여기

은 레일

Started GET "/export/excel/summary_report/2" for 192.168.1.108 at 2014-02-22 22:59:57 +0000 
    Processing by ExportController#export_excel_report as HTML 
    Parameters: {"report_class"=>"summary_report", "entries"=>"2"} 
Rendered tables/_csv_header_cell.slim (15.6ms) 
Rendered tables/_csv_header_cell.slim (0.0ms) 
Rendered tables/_csv_header_cell.slim (0.0ms) 
Rendered tables/_csv_header_row.slim (15.6ms) 
Rendered tables/_csv_header.slim (31.2ms) 
Rendered tables/cells/_employee.slim (15.6ms) 
Rendered tables/cells/_employee.slim (0.0ms) 
Rendered tables/_csv_data_row.haml (46.8ms) 
Rendered tables/_csv_data_grid.slim (62.4ms) 
Rendered tables/_csv_table.slim (156.0ms) 
Rendered filters/_summary_report.haml (171.6ms) 
Sent file public/excel/summary_report1393109998_178.xlsx (0.0ms) 
Completed 200 OK in 312ms 
+0

파일을 보낼 때 어떤 일이 발생하는지 로그 파일을 확인 했습니까? –

+0

게시 된 로그를 추가했습니다. "보낸 0.0ms"의심스럽게 보입니다. –

답변

1

는 당신이를 보내려고 다음 파일로 Axlsx을 렌더링하고 있습니까 로그입니까? 그렇다면 다음과 같은 행운을 누릴 수 있습니다.

xlsx_package = Axlsx::Package.new(...) 
# do whatever 
send_data xlsx_package.to_stream.read 

적어도 파일 사용 권한/경로 문제를 처리해야합니다.

내가 작성한 axlsx_rails과 같은 보석을 사용하여 xlsx 파일을 만들고 보낼 수도 있습니다. 그러나 Windows IIS에서 테스트하지 않았습니다.

+0

예, 저는 Axlsx를 파일로 렌더링하는 데 사용했습니다. 귀하의 솔루션이 나를 위해 일했습니다. 고맙습니다. –

관련 문제