2015-03-08 11 views
5

dropzone.js का उपयोग से पुन: प्राप्त करने, मैं कोई मुद्दा यह काम करने के लिए हो रही है, छवियों को पहले से ही पहले से सर्वर पर अपलोड पुन: प्राप्त करने सहित किया है।dropzone.js प्रगति बार को रोकें जब सर्वर

मेरे पास एकमात्र समस्या है जब मैं सर्वर से उन फ़ाइलों को रीफ्रेश पर पुनर्प्राप्त करता हूं (जिसका अर्थ है कि वे इस पृष्ठ के वर्तमान उपयोग के दौरान अपलोड नहीं किए गए थे), अपलोड प्रगति पट्टी स्थायी रूप से प्रदर्शित होती है। क्या पहले अपलोड की गई छवियों के लिए प्रगति पट्टी को दबाने का कोई तरीका है? मैं अपलोड करते समय प्रगति सलाखों का उपयोग करना जारी रखना चाहता हूं और टेम्पलेट से सीएसएस को हटाना नहीं चाहता हूं।

ऐसा नहीं है कि यह इस मामले में उपयोगी है, लेकिन यहाँ कोड मैं फ़ाइलों को पुनः प्राप्त करने और उन्हें एक दूरस्थ पूर्वावलोकन div में प्रदर्शित करने के लिए उपयोग कर रहा हूँ है।

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

यदि वे पहले से अपलोड किए गए हैं तो उन्हें रीफ्रेश सर्वर से पुनर्प्राप्त नहीं करना चाहिए? – Miro

+0

हां, मैं उन्हें प्रगति पट्टी के बिना पुनर्प्राप्त करना चाहता हूं। – tllewellyn

उत्तर

2

उत्तर दिया गया! बस jQuery उपयोग करने के बाद वे वितरित किए गए divs दूर करने के लिए चुना है:

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

ज्यादा सुंदर नहीं है, लेकिन यह काम करता है।

+2

'$ हाँ, या आप इस्तेमाल कर सकते हैं ('dz-पूर्वावलोकन।') AddClass ('dz-पूरा');।' – Miro

11

सुनिश्चित करें कि कोई प्रगति बार है कि वहाँ, आदि करें ...

thisDropzone.emit("complete", mockFile); 

FAQ Dropzone.JS

+1

धन्यवाद। यह मेरे लिए काम करता है। –

4

यह एक पुरानी सवाल है, लेकिन मैं एक ही मुद्दा था। मेरा समाधान मेरी .css फ़ाइल को संपादित करना था:

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

मुझे एक ही समस्या थी।

$ ('dz प्रगति।') को छिपाने()।;

यह बहुत अच्छा है अगर आप .hide (का उपयोग किया जाएगा) के बजाय .remove() विधि की। क्योंकि .remove() उस div को स्थायी हटा दें।

+0

क्या आपकी समस्या हल हो गई है? – Panther

+0

हां। इसे $ ('। Dz-progress') का उपयोग करके हल किया गया है। छुपाएं(); @Panther –

0

यह मेरे लिए काम किया $ प्रयास करें छिपाने() ("स्पिनर।")।

संबंधित मुद्दे