Tôi đang tạo ứng dụng web (ở Django), ứng dụng này cần cho phép người dùng tải lên tệp (hình ảnh cụ thể, sau này được hiển thị cho người dùng khác). Tôi đang cố gắng hiểu cách tốt nhất để lưu trữ các tệp được tải lên này.Cách tốt nhất để lưu trữ các tệp do người dùng tải lên trong webapp
Từ các câu hỏi liên quan, tôi thấy một số người đã đề xuất cung cấp cho tệp một id không hợp lệ do máy chủ tạo, sau đó tạo bảng DB ánh xạ id thành tên tệp gốc.
Đây có phải là cách tiếp cận tốt nhất để lưu trữ các tệp do người dùng tải lên, từ bảo mật, hiệu quả hoặc bất kỳ quan điểm nào khác không? Tôi nên lưu trữ loại thông tin nào về mỗi tệp?
Có bất kỳ phương pháp hay nhất nào khác có liên quan đến việc chấp nhận tệp do người dùng tải lên không? (Ngoài việc đảm bảo chúng thực sự là hình ảnh và kiểm tra kích thước của chúng, rõ ràng)?
Chỉnh sửa: Thêm một chút thông tin về những gì tôi cần. Tôi đang nói cụ thể về các tệp hình ảnh mà người dùng cần tải lên và nhúng vào nội dung mà họ tạo. Hãy tưởng tượng nó giống như một câu trả lời StackOverflow (hoặc một bài đăng trên blog): một người nào đó tải lên một hình ảnh, hình ảnh này phải được lưu trữ và hiển thị bất cứ khi nào bất kỳ ai khác nhìn thấy câu trả lời.
Cảm ơn,
Edan
Lưu ý: Có một số câu hỏi liên quan, nhưng tôi đã không tìm thấy một trong đó yêu cầu một sự so sánh cách để lưu trữ các tập tin người dùng tải lên.
hi edan, tôi đến cùng một vấn đề. Tôi sẽ tạo ứng dụng nơi người dùng có thể tải lên hình ảnh/pdf. Sau đó, họ có thể xem/tải xuống tệp. Tôi đang nghĩ đến việc lưu trữ hệ thống tệp. Chỉ muốn biết bạn thích trải nghiệm nào hơn? –
Hướng tôi đang lên kế hoạch là: 1. Cơ sở dữ liệu chứa thông tin "meta" (tên tệp gốc, v.v.). 2. Tệp vật lý trên hệ thống tệp, với tên là chỉ mục vào db của thông tin meta. Có thể có nhiều hơn một tập tin vật lý cho mỗi mục nhập db, bằng cách này, tương ứng với các độ phân giải khác nhau, ví dụ. Ví dụ: tôi sẽ có các tệp: 254_high_res.jpg, 254_los_res.jpg, trong đó 254 là chỉ mục trong cơ sở dữ liệu của thông tin meta cho tệp 254. –
cảm ơn edan. tôi sẽ lưu trữ hình ảnh với radon guid tạo ra tên như tên tập tin. và với độ phân giải khác, tôi sẽ sử dụng trình xử lý. http://dotnetslackers.com/articles/aspnet/Generating-Image-Thumbnails-in-ASP-NET.aspx –