1

http.server에서 PDF 파일을 제공하기 만하면됩니다. 내가 지금 file.pdf로 응답 할 수 있고 난 아무데도 못하고 얼마나 확실하지 않다Python의 http.server에서 파일 제공 - 파일로 올바른 응답

from http.server import BaseHTTPRequestHandler, HTTPServer 

class MyServer(BaseHTTPRequestHandler): 

    def do_GET(self): 
     self.send_response(200) 
     self.send_header('Content-type', 'application/pdf') 
     self.send_header('Content-Disposition', 'attachment; filename="file.pdf"') 
     self.end_headers() 

     # not sure about this part below 
     self.wfile.write(open('/filepath/file.pdf', 'rb')) 


myServer = HTTPServer(('localhost', 8080), MyServer) 
myServer.serve_forever() 
myServer.server_close() 

: 여기 내 코드입니다. 헤더가 정확하다고 확신하지만 실제 파일을 보낼 수는 없습니다.

답변

1

말대로 머리말을 올바르게 설정하는 것처럼 보입니다. 필자는 텍스트 데이터 (CSV)로만하려는 작업을 수행했습니다. 표시된 코드와 관련된 한 가지 문제점은 실제 데이터가 아니라 파일 객체를 쓰려고한다는 것입니다. 실제로 이진 데이터를 얻으려면 read해야합니다.

def do_GET(self): 

    # Your header stuff here... 

    # Open the file 
    with open('/filepath/file.pdf', 'rb') as file: 
     self.wfile.write(file.read()) # Read the file and send the contents 

이 기능을 사용하면 조금 더 가까이에 있기를 바랍니다.

+0

답변 해 주셔서 감사합니다. – Clone