2012-03-08 33 views
7

Ứng dụng của tôi thường xuyên tải lên các tệp lớn. Bất kể kích thước của chúng, tất cả các tệp đều được nén trước khi được tải lên máy chủ.Có thể tiếp tục nén 7zip không?

Một phần của yêu cầu dự án này là để tiếp tục độc đáo sau khi thất bại sụp đổ/điện, vì vậy ngay bây giờ nén được thực hiện theo cách này:

  • lớn file.bin thái lát trong N lát
  • Compress mỗi slice & tải lên ảnh

Trong trường hợp gặp sự cố, tôi lấy từ lát cuối cùng.

Để tối ưu tốc độ tải lên, tôi hiện đang xem xét việc gửi toàn bộ tệp (tải lên được tiếp tục nếu không thành công) thay vì gửi từng tệp một, vì vậy tôi đang xem toàn bộ tệp thay vì nén từng lát.

Tôi hiện đang sử dụng 7z.dll. Tôi tự hỏi nếu nó có thể, trong trường hợp mất điện, để nói 7z để resume nén.

Tôi biết tôi luôn luôn có thể thực hiện thường xuyên nén của riêng tôi và thực hiện tính năng như vậy, nhưng trước đi rằng con đường tôi tự hỏi, nếu nó có thể làm điều đó trong 7z (mà đã có một tỷ lệ nén xuất sắc)

Trả lời

7

Như theo như tôi biết, không có thuật toán nén nào hỗ trợ điều đó. Bạn có thể sẽ phải nén lại tệp nguồn từ đầu mỗi lần, loại bỏ bất kỳ byte đầu ra nào cho đến khi bạn đạt được vị trí tiếp tục mong muốn, và sau đó bạn có thể gửi các byte đầu ra còn lại từ điểm đó vào.

+1

+1 để đề nghị nén lại dữ liệu cho OP;) –

+0

Oopps. Đã sửa :-p –