2014-12-10 17 views
5

Tôi đang sử dụng Alamofire và thấy rằng với nhiệm vụ tải xuống và tiến trình, tôi nhận được đúng byte mà nó đọc và tổng số byte hiện đang đọc, nhưng totalBytesExpectedToRead luôn là -1. Ngay cả trong các tệp thử nghiệm, xác nhận nói rằng giá trị này phải luôn là -1, tại sao?Tổng số tiến trình tải xuống AlamofireBài viếtBytesExpectedToRead luôn -1

Quá trình tải xuống hoàn tất không có vấn đề gì, nhưng tôi muốn hiển thị thanh tiến trình trong khi tải xuống tệp PDF.

Có thể phần này của thư viện chưa được hoàn thành chưa?

Cảm ơn bạn trước!

Trả lời

6

totalBytesExpectedToRead cung cấp cho bạn Độ dài nội dung nhận được từ phía máy chủ. Khi máy chủ không cung cấp giá trị "Content-Length" trong tiêu đề phản hồi thì nó sẽ luôn là -1. Trước tiên, hãy xác nhận với các dịch vụ web và từ nhóm Nhà phát triển web rằng họ nên cung cấp cho bạn "Độ dài nội dung".

Trên thực tế, totalBytesExpectedToRead là cung cấp cho bạn giá trị từ tài sản của NSURLResponse của "expectedContentLength"

+0

Vì vậy, nếu tôi chỉ có URL vào một tập tin PDF, và tạo một yêu cầu tải về với Alamofire, giá trị này sẽ luôn -1 ? – kennyevo

+0

Không, giá trị này luôn là tổng kích thước tệp. Nếu nó cung cấp cho bạn -1 nó có nghĩa là máy chủ không cung cấp cho bạn kích thước. –

+0

Ah tôi hiểu rồi, tôi sẽ hỏi các anh chàng web nếu họ thêm tiêu đề này vào bộ lọc của máy chủ. – kennyevo

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