2014-11-25 6 views
1

.xlsx 파일을 반환하는 방법은 무엇입니까?

예를 들어 - "다운로드"할 때 - "File.xlsx"가 다운로드를 시작해야합니다..xlsx 파일을 반환하는 방법은 무엇입니까?

@route('/download') 
def download(): 
    return open('files/File.xlsx') 

을하지만 크롬은 나에게이 오류 반환 : 나는 병 0.12.7 및 파이썬 3.4 을 사용하고

나는 그것을 반환하려고 ERR_EMPTY_RESPONSE

감사합니다.

+0

그리고 무엇 실제로 코드 (발생 나는 볼 수 없다)? – doctorlove

+0

@doctorlove 질문이 수정되었습니다. – yeswecode

+0

실제로 파일 내용을 읽으려고 시도합니다 :'return open ('files/File.xlsx') read()' – ch3ka

답변

0

명시 적으로 컨텐트 유형 헤더를 설정해야합니다.

엑셀 파일의 내용 유형은 .xls 파일이나 .xlsx 파일에 대한 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet에 대한 application/vnd.ms-excel, 그래서이 시도 :

response.headers['Content-Type'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' 

전체 코드 :

@route('/download') 
def download(): 
    response.headers['Content-Type'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' 
    return open('files/File.xlsx') 
+0

Chrome에서 나를 돌려줍니다. ERR_EMPTY_RESPONSE – yeswecode

+0

'wget' 또는'curl' (또는 Firefox)로 시도해보고 응답을 확인하십시오. –

관련 문제