Tôi đang làm việc tại một ứng dụng web bằng Python/Twisted.HTTP Tải xuống tệp rất lớn
Tôi muốn người dùng có thể tải xuống tệp rất lớn (> 100 Mb). Tôi không muốn tải tất cả các tập tin trong bộ nhớ (của máy chủ), tất nhiên.
phía máy chủ Tôi có ý tưởng này:
...
request.setHeader('Content-Type', 'text/plain')
fp = open(fileName, 'rb')
try:
r = None
while r != '':
r = fp.read(1024)
request.write(r)
finally:
fp.close()
request.finish()
tôi mong đợi này để làm việc, nhưng tôi có vấn đề: Tôi đang thử nghiệm với FF ... Dường như trình duyệt làm cho tôi chờ đợi cho đến khi tập tin là hoàn thành tải xuống, và sau đó tôi có hộp thoại mở/lưu.
tôi mong đợi hộp thoại ngay lập tức, và sau đó thanh tiến trình trong hành động ...
Có lẽ tôi cần phải thêm một cái gì đó trong tiêu đề Http ... Một cái gì đó giống như kích thước của tập tin?
Bạn sẽ nhận được thông tốt hơn và ít tải trên máy chủ của bạn bằng cách đọc và gửi khối lớn hơn ... thử nghiệm với các giá trị khoảng 4-16k để tìm những gì hoạt động tốt nhất cho hoàn cảnh của bạn. – dcrosta
Bạn có muốn chấp nhận một trong các câu trả lời không? –