Tôi đã sử dụng một phương pháp để phân phát tải xuống nhưng vì nó không an toàn nên tôi đã quyết định thay đổi điều đó. (phương pháp này là liên kết đến tệp gốc trong bộ nhớ, nhưng rủi ro là mọi người có liên kết đều có thể tải xuống tệp!) vì vậy bây giờ tôi phân phát tệp qua các chế độ xem của tôi, theo cách đó, chỉ người dùng có quyền mới có thể tải tệp xuống, nhưng tôi nhận thấy một tải cao trên máy chủ trong khi có nhiều yêu cầu tải xuống đồng thời cho các tệp. đây là một phần của mã của tôi xử lý tải xuống cho người dùng (Xem xét tệp là hình ảnh)Cung cấp các tệp lớn (có tải cao) ở Django
image = Image.open ("the path to file")
response = HttpResponse(mimetype = 'image/png')
response['Content-Disposition'] = 'attachment: filename=%s.png' % filename
image.save(response , "png")
return response
có cách nào tốt hơn để phân phối tệp trong khi vẫn giữ an toàn và hạ tải phía máy chủ không? cảm ơn trước :)
Tại sao bạn mở hình ảnh, chỉ để lưu lại? –
@burhan Tôi đã mở tệp để tôi có thể truy cập tệp và phân phát dưới dạng tệp hình ảnh png, có thể hoàn thành mà không cần mở hình ảnh không? –
Cho đến khi tất cả các trẻ em mát mẻ ngừng sử dụng mod_python bạn có thể nhận được apache để xác thực từ hệ thống auth của Django: https://docs.djangoproject.com/en/dev/howto/apache-auth/ nhưng bây giờ tất cả các trẻ em mát mẻ sử dụng WSGI (và nginx). Các giải pháp dựa trên những thứ đó sẽ hữu ích cho cộng đồng rộng lớn hơn, – Spacedman