Tôi đang sử dụng bootstrap multiple file upload plugin để tải lên tệp. Tôi đang sử dụng ví dụ trên liên kết này. Bây giờ tôi muốn thêm một nút "Hủy tải lên" bên cạnh nút "Thêm tệp". Khi nhấp vào nút "Hủy tải lên", quá trình tải lên sẽ bị dừng lại. Xin hãy giúp tôi để giải quyết vấn đề này. Cảm ơnThêm hủy tải lên hoặc hủy bỏ chức năng để khởi động nhiều plugin tải lên tệp
Trả lời
Cuối cùng, sau khi thử nghiệm rộng rãi và sai sót và tìm kiếm các giải pháp mã có liên quan, tôi làm cho nó hoạt động chính xác theo cách tôi muốn! Tôi đã đăng truy vấn của mình trên số plugin's github issue page và nhận trợ giúp từ đó.
Dưới đây là các mẫu mã mà thực sự làm việc:
1.First bạn có để ràng buộc sự kiện fileuploadadd:
$('#fileupload').bind('fileuploadadd', function(e, data){
var jqXHR = data.submit(); // Catching the upload process of every file
$('#cancel_all').on('click',function(e){
jqXHR.abort();
});
});
2.Then bạn có để ràng buộc sự kiện hủy mà sẽ được gọi khi nhấp vào nút "Hủy tải lên", thao tác này sẽ hủy tất cả các tệp hiện đang được tải lên:
$('#fileupload').bind('fileuploadfail', function(e, data){
if (data.errorThrown === 'abort')
{
//PUT HERE SOME FEEDBACK FOR THE USER
}
});
Tôi nghĩ rằng bạn có thể tìm thấy câu trả lời trong các tài liệu của các plugin từ here, tôi gửi mã ở đây:
var jqXHR = $('#fileupload').fileupload('send', {files: filesList})
.error(function (jqXHR, textStatus, errorThrown) {
if (errorThrown === 'abort') {
alert('File Upload has been canceled');
}
});
$('button.cancel').click(function (e) {
jqXHR.abort();
});
Đoạn mã trên có nghĩa là tải lên các file lập trình (mannually). Trong trường hợp này, đối với hàm tải tệp, đối số thứ hai phải là một đối tượng có một mảng (hoặc danh sách giống mảng) của các đối tượng Tệp hoặc Blob dưới dạng thuộc tính tệp. Vì vậy, bạn cần phải nhận được mảng file trước khi bạn thực hiện trên mã:
var filesList = $("#fileupload").get().files;
Tôi không chắc chắn cho dù bạn cần phải chuyển đổi FileList để mảng như dưới đây, nhưng bạn có thể thử:
var i,files = $("#fileupload").get().files,filesList=[];
for(i=0;i<files.length;i++){
filesList.push(files.item(i))
}
Nhưng lưu ý rằng có những hạn chế ở đây: Tệp chỉ được hỗ trợ với IE10 + và các trình duyệt hiện đại khác.
Để biết thêm thông tin, tôi liệt kê một số điều ở đây:
- 1. Hủy tải lên Google Drive có thể?
- 2. Dừng/Hủy Tải lên trên AWS S3
- 3. NodeJs Tải lên tập tin Lỗi: Yêu cầu Hủy bỏ
- 4. Tải tên tệp tải lên trước khi tải lên bằng plugin Tải lên tệp jQuery
- 5. cách thêm nút hủy tải lên vào jquery-file-upload plugin cơ bản
- 6. Tải lên tệp lớn - Yêu cầu bị hủy
- 7. sự kiện hủy tải lên tệp trong javascript
- 8. Tải lên tệp Blueimp: một tệp tải lên
- 9. Tải lên lỗi swf js khi tải trang với trạng thái bị hủy
- 10. Tải lên Django: Hủy các bản sao được tải lên, sử dụng tệp hiện có (kiểm tra dựa trên md5)
- 11. Grails - Ngoại lệ khi dừng/hủy tải lên
- 12. Tải lên chức năng chạy jQuery và khóa lên
- 13. Tải lên tệp tải lên tệp Blueimp chỉ một lần
- 14. Tải lên nhiều tệp trong Grails
- 15. Tải lên Kết nối iTunes: tệp nào để tải lên
- 16. Tải lên tệp tùy chọn với plugin tải lên tệp jquery Blueimp
- 17. Tải lên nhiều tệp với jQuery
- 18. Sắp xếp nhiều tệp tải lên
- 19. tải lên tệp wcf
- 20. Tải nhiều tệp lên blobstore (redux)
- 21. Tải kích thước tệp tải lên trước khi tải lên
- 22. Tải lên nhiều tệp trong CodeIgniter
- 23. nhiều tệp tải lên symfony 2
- 24. Tải lên tệp Resumable
- 25. Rails Paperclip & Tải lên nhiều tệp
- 26. Laravel 5.3 tải lên nhiều tệp
- 27. Góc 2 tải lên nhiều tệp
- 28. Tệp WebClient.UploadFile tải lên tệp tải lên dưới dạng dòng
- 29. Tải lên nhiều tệp trong playframework
- 30. Tải lên tệp bằng Backbone
Đã cố gắng sử dụng điều này nhưng gặp lỗi "Tham chiếuKhông tìm thấy: tệp danh sách không được xác định". Bạn có thể vui lòng cho biết cách sử dụng nó? –
hi @RahulGupta, tôi cập nhật câu trả lời. Hy vọng sẽ giúp bạn :) – Merlin
Xin chào Merlin, cảm ơn rất nhiều vì đã thể hiện sự quan tâm của bạn, nhưng tôi đã thử sử dụng mã cập nhật mặc dù nó không hoạt động. Tôi đã ghi lại giá trị của 'filesList' và nó đang hiển thị 'undefined' –