2015-03-08 18 views
5

Sử dụng dropzone.js, tôi không gặp phải vấn đề gì khi làm việc, bao gồm truy xuất hình ảnh đã được tải lên máy chủ trước đó.dropzone.js Ngăn chặn thanh tiến trình khi truy xuất từ ​​máy chủ

Vấn đề duy nhất tôi có là khi tôi truy xuất các tệp đó từ máy chủ khi làm mới trang (có nghĩa là chúng không được tải lên trong quá trình sử dụng hiện tại của trang này), thanh tiến trình tải lên sẽ được hiển thị vĩnh viễn. Có cách nào để chặn thanh tiến trình cho hình ảnh đã tải lên trước đó không? Tôi muốn tiếp tục sử dụng thanh tiến trình khi tải lên và không muốn loại bỏ css khỏi mẫu.

Điều đó không hữu ích trong trường hợp này, nhưng đây là mã tôi đang sử dụng để truy xuất tệp và hiển thị chúng trong div xem trước từ xa.

Dropzone.options.myDropzone = { 
    previewsContainer: document.getElementById("previews"), 
    init: function() 
    { 
    thisDropzone = this; 

    $.get('../cgi/fileUpload.php', function(data) 
    { 
     $.each(data, function(key,value) 
     { 
      var mockFile = { name: value.name, size: value.size}; 
      thisDropzone.options.addedfile.call(thisDropzone, mockFile); 
      thisDropzone.options.thumbnail.call(thisDropzone, mockFile, value.uploaddir+value.name); 

      var strippedName = (value.name).slice(11); 
      fileList[i] = {"serverFileName" : value.name, "fileName" : value.name, "fileSize" : value.size, "fileId" : i }; 
      i++; 


      var removeButton = Dropzone.createElement("<button class=\"btn btnremove\" style=\"width: 100%;\">Remove file</button>"); 

      var _this = this; 

      removeButton.addEventListener("click", function(e) 
      { 

       e.preventDefault(); 
       e.stopPropagation(); 

       thisDropzone.removeFile(mockFile); 

      }); 

      mockFile.previewElement.appendChild(removeButton); 

     }); 
    }); 
}, 
url: "../cgi/fileUpload.php" 
}; 
+0

nếu chúng đã được tải lên không nên làm mới truy xuất chúng từ máy chủ? – Miro

+0

Có, tôi muốn chúng được truy xuất mà không có thanh tiến trình. – tllewellyn

Trả lời

2

Đã trả lời! Chọn chỉ xóa các div bằng jquery sau khi chúng được phân phối:

$(".dz-progress").remove(); 

Không quá thanh lịch, nhưng nó hoạt động.

+2

có hoặc bạn có thể sử dụng '$ ('. Dz-preview'). AddClass ('dz-complete');' – Miro

11

Hãy chắc chắn rằng không có thanh tiến trình, vv ...

thisDropzone.emit("complete", mockFile); 

FAQ Dropzone.JS

+1

Cảm ơn. Điều này làm việc cho tôi. –

4

Đây là một câu hỏi cũ nhưng tôi có cùng một vấn đề. Giải pháp của tôi là chỉnh sửa tệp .css của tôi:

.dz-progress { 
    /* progress bar covers file name */ 
    display: none !important; 
} 
5

Tôi có cùng một vấn đề.

$ ('. Dz-progress'). Hide();

Sẽ rất tuyệt nếu bạn sử dụng .hide() thay vì phương thức .remove(). Vì .remove() loại bỏ div đó vĩnh viễn.

+0

Sự cố của bạn có được giải quyết không? – Panther

+0

Có. Nó được giải quyết bằng cách sử dụng $ ('. Dz-progress'). Hide(); @Con beo –

0

Hãy thử tính năng này làm việc cho tôi $ (". Spinner"). Hide();

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