용량이 큰 파일 업로드 시
net::ERR_CONNECTION_RESET 오류 발생할 경우.
http_server = tornado.httpserver.HTTPServer(app, max_buffer_size=10485760000)
upload_form.html
<!DOCTYPE html>
<html>
<head>
<title>File Upload Form</title>
</head>
<body>
<h2>File Upload Form</h2>
<form action="/" method="post" enctype="multipart/form-data">
<label for="file">Select a file:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" value="Upload">
</form>
</body>
</html>
main.py
import os
import tornado.web
import tornado.ioloop
UPLOAD_DIR = "uploads" # Define the directory where uploaded files will be saved
class FileUploadHandler(tornado.web.RequestHandler):
def get(self):
self.render("upload_form.html") # Render the HTML form for file uploads
def post(self):
file_info = self.request.files['file'][0] # Get file information from the request
# Extract relevant file information
file_name = file_info['filename']
file_body = file_info['body']
# Save the uploaded file to the specified directory
file_path = os.path.join(UPLOAD_DIR, file_name)
with open(file_path, 'wb') as file:
file.write(file_body)
self.write(f"File '{file_name}' uploaded successfully.")
def make_app():
return tornado.web.Application([
(r"/", FileUploadHandler),
])
if __name__ == "__main__":
app = make_app()
print("Server is running on http://localhost:8888")
http_server = tornado.httpserver.HTTPServer(app, max_buffer_size=10485760000)
http_server.listen(8888)
tornado.ioloop.IOLoop.current().start()
댓글 없음:
댓글 쓰기