2012-05-02 42 views
9

Tôi phải tải xuống lượng lớn dữ liệu (ở bất kỳ đâu giữa 300MB - 1GB).Cách tạm dừng/tiếp tục tải xuống trong iPhone (iOS)

Tôi hiện đang sử dụng **NSURLConnection** để tải xuống dữ liệu. Nhưng, bây giờ tôi đang xem xét một kịch bản mà người dùng có thể mất kết nối internet trong quá trình tải xuống. Hiện tại tôi đang khởi động lại toàn bộ quá trình tải xuống trong kịch bản này, mà tôi nghĩ là một cách rất xấu để tải xuống và lãng phí băng thông của người dùng.

Có quy trình mà tôi có thể quản lý nội dung tải xuống có chức năng Tạm dừng/Tiếp tục khi tải xuống hay không.

Trả lời

11

Đây là tutorial cách thực hiện điều này trên iOS.

Đồng thời kiểm tra documentation. Điều này sẽ yêu cầu máy chủ của bạn hỗ trợ tiêu đề dải ô.

+0

oops .... tôi đoán. điều này chỉ hoạt động đối với MAC OS và NOT cho iOS .. Sửa lỗi nếu tôi sai !! Tôi đang tìm kiếm thứ gì đó hoạt động trên iOS –

+0

+1 cho liên kết ... Nhưng bạn có thể thêm một số đoạn mã cho tôi được không. ... –

+0

tôi đoán chúng ta cần sử dụng lớp NSURLDownload để sử dụng chức năng này. Nhưng tài liệu rõ ràng nói NSURLDownload không phải là ava ilable cho iOS. Bất kỳ ý tưởng về điều đó ??? –

1

đồng bộ hóa nhu cầu này ở cả máy chủ cũng như phía máy khách. và tôi đã nói với u để sử dụng khối. definetely chunks là giải pháp duy nhất nếu bạn muốn tạm dừng. bạn sẽ gửi máy chủ với một id đoạn để dừng lại cho đến khi tôi sẽ nhận được remaing tiếp theo và thời gian tiếp theo bạn sẽ yêu cầu từ id đó.

+0

cảm ơn bạn đã trả lời ... Bạn có thể vui lòng cụ thể hơn về mặt kỹ thuật hay không. Tôi có nghĩa là, bạn có thể giải thích thêm một chút về làm thế nào để làm điều đó ... Bất kỳ liên kết cũng sẽ hữu ích –

+0

xin lỗi không có ý tưởng về liên kết. bạn có thể google nó. Infact tôi thực hiện một số điều tương tự như điều này trong ứng dụng của tôi. vấn đề là máy chủ gửi một thông báo có thông tin về số lượng các gói tin sẽ được nhận. máy khách gửi ok và giao tiếp bắt đầu, bất cứ khi nào khách hàng cần tạm dừng. nó sẽ gửi một tin nhắn thông qua webservice mà dừng lại cho đến bây giờ, rằng tôi đã nhận được các gói này. trong lần tiếp theo khi client yêu cầu tiến trình resume, server đã có thông tin về các gói tin được gửi cuối cùng, vì vậy nó sẽ bắt đầu gửi các gói còn lại, điều cơ bản là dịch chuyển hầu hết công việc của bạn ở phía máy chủ. – Saad

+0

ping tôi để biết thêm ... – Saad

-1

Bạn có thể sử dụng "NSURLSession để tạm dừng và tiếp tục

0

CỐ ĐỊNH GIẢI PHÁP:

cố định liên kết bị hỏng và ở đây là làm việc Tutorial để tiếp tục tập tin Tải tập tin trong iOS

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