मैं फ़ाइल अपलोड के लिए AJAX का उपयोग कर रहा हूं। फ़ाइल अपलोड होने के बाद, php को इसकी जांच करनी चाहिए (माइम, आकार, वायरस (क्लैमस्कैन) और अधिक) - इसमें बड़ी फ़ाइलों के लिए कुछ सेकंड लगते हैं। फ़ाइल अपलोड होने पर, एक HTML5 <progress>
भर रहा है, जब फ़ाइल तैयार है और PHP जांच शुरू कर देता है, प्रगति अनिश्चितता पर स्विच होनी चाहिए। मैं तरीके यह करने के लिए के बारे में सोचा है (जो दोनों नहीं काम):XMLHttpRequest स्तर 2 - निर्धारित करें कि अपलोड समाप्त होने पर
, जांच की जा रही upload.onload घटना
xhr.upload.addEventListener("load", function (e) {
$("#uploadprogress").attr("value", false);
$("#uploadprogress").attr("max", false);
$("#progress").text("Checking file...");
});
यह काम नहीं करता जब क्योंकि onload
-event firest अनुरोध तैयार है, जब अपलोड तैयार नहीं है।
अगर अपलोड प्रगति प्रतिशत = 100%
xhr.upload.addEventListener("progress", function (e) {
if (e.lengthComputable && e) {
p = (e.loaded/e.total);
if (p==1) {
$("#uploadprogress").attr("value", false);
$("#uploadprogress").attr("max", false);
$("#progress").text("Checking file...");
} else {
var percent = Math.ceil(p * 1000)/10;
$("#uploadprogress").val(e.loaded);
$("#uploadprogress").attr("max", e.total);
$("#progress").text("Uploading... " + percent + "%");
}
}
}
});
यह काम नहीं करता है क्योंकि अपलोड प्रतिशत कभी कभी लगभग बंद हो जाता है जाँच हो रही है। अपलोड होने के बावजूद 97%, PHP फाइलों को संभालने शुरू कर देता है
क्या यह जांचने की कोई और संभावना है?
लेकिन मैं यह जांचना नहीं चाहता कि कनेक्शन बंद है या नहीं, क्योंकि अपलोड समाप्त होने के बाद, PHP फ़ाइल को चेक करता है, जो लगभग लेता है। 10 सेकंड और कुछ JSON के साथ रिटर्न। जब PHP फ़ाइल को जांचना शुरू करता है (= जब अपलोड समाप्त हो जाता है), जब प्रगति फ़ाइल फ़ाइल को जांचने पर समाप्त होती है, तो 'लोड लोड'/'लोड' ईवेंट आग लगने पर, प्रगति पट्टी को 'indeterminated' – ninov
पर स्विच करना चाहिए' जब PHP कनेक्शन बंद कर देता है) 'readystatechange' घटना' readyState === 4' के साथ आग लगती है। इसलिए अपने उद्देश्यों के लिए, 'readystatechange' ईवेंट पर प्रगति पट्टी को' indeterminated' पर स्विच करें। देखें: https://gist.github.com/anonymous/5208652 – zertosh
काम नहीं करता है। यह मेरा जेएस है: https://gist.github.com/anonymous/2a2fef447399a3b8e734 कल्पना करें कि PHP स्क्रिप्ट सिर्फ 'नींद (10) है; '। अब मैं इस 10 सेकंड – ninov