2010-11-15 41 views
10

Tôi đang tạo trang web mà tôi cần triển khai tải lên nhiều tệp có thể băm tệp trước khi tải lên máy chủ.Tải lên nhiều tệp bằng kiểm tra md5 trước khi tải lên

Ý tưởng là người dùng có thể tải lên các tệp có thể có hoặc không tồn tại trên máy chủ. Để tiết kiệm băng thông, tôi muốn băm tệp trước khi tải lên máy chủ, gửi băm qua POST và chỉ tiến hành tải lên nếu máy chủ trả lời rằng tệp không có tệp có băm này.

Có bất kỳ triển khai dựa trên Flash miễn phí nào không (tôi cho rằng JavaScript sẽ không thể tải tệp và băm) có thể hoạt động cho tôi?

+1

Yêu cầu thú vị, nhưng tôi không thể thấy bất kỳ điều gì theo hướng. Đây là yêu cầu tính năng có liên quan trong swfupload: http://code.google.com/p/swfupload/issues/detail?id=287 bạn có thể xem xét tự mình mở một yêu cầu tính năng hoặc tự thêm yêu cầu đó vào SWFUpload hoặc triển khai tương tự nếu bạn nói Flash. Nó sẽ được tương đối dễ dàng để có Flash vượt qua giá trị MD5 để gọi lại Javascript (tôi nghĩ rằng đã có một 'gọi lại' gọi lại), và để làm phần còn lại thông qua một yêu cầu Ajax –

+0

Có thể được giúp đỡ: http: // stackoverflow. com/questions/768268/how-to-calculate-md5-hash-of-a-tệp-sử dụng-javascript –

Trả lời

3

Bạn có thể đọc tệp bằng Javascript, API FileReader trong HTML5 sẽ thực hiện công việc cho bạn.

Tiếp theo, ăn chuỗi base64 vào b64_md5() chức năng được cung cấp bởi thư viện này: http://pajhome.org.uk/crypt/md5/instructions.html

Lưu ý rằng nó có thể tốn thời gian nếu file quá lớn. Bạn cũng có thể cần WebWorkers để làm nền tảng conculation.

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