2012-04-23 73 views
7

Tôi đã xem qua tài liệu Flask, cả hướng dẫn nhanh và hướng dẫn tải lên tệp và không thể tìm thấy bất kỳ thứ gì về kích thước tệp của tệp. Từ những gì tôi hiểu, tôi chỉ được cung cấp tên của tệp từ trên ổ đĩa người dùng và tên của trường đầu vào chứa tệp được tải lên.Python - Nhận kích thước tệp của đối tượng tệp từ tệp tải lên trong Flask

Ngoài việc ghi tệp vào đĩa và sau đó kiểm tra kích thước với os.path.getsize, có cách nào để lấy kích thước của đối tượng tệp không?

Tôi đã thực hiện:

f.seek(0,SEEK_END) 
f.tell() 

Có phải là một cách tốt hơn phải không?

Trả lời

2

Trong trường hợp trường tải lên như <input type="file" name="foo"/> trong trang HTML, request.files['foo'] cung cấp cho bạn một đối tượng có thuộc tính số nguyên được gọi là content_length. Đây là kích thước của tệp được tải lên theo byte, xem ví dụ về cách sử dụng tại đây: https://github.com/dnet/photochecklist/blob/5072331/model.py#L78

+2

thuộc tính content_length có thể không có và có thể được khách hàng giả mạo. –

Các vấn đề liên quan