मेरे पास एक उपयोगकर्ता द्वारा अपलोड की गई एक फ़ाइल है, और मैं निम्नलिखित प्राप्त करना चाहता हूं।छोटे हिस्सों में AJAX के साथ फ़ाइल कैसे अपलोड करें और विफल होने की जांच करें, विफल होने वाले हिस्सों को दोबारा अपलोड करें।
- फ़ाइल को मेगाबाइट के बारे में छोटे हिस्सों में विभाजित करें।
- प्रत्येक खंड को अपलोड करें, और अगले खंड को अपलोड करने से पहले इसे पूरा करने के लिए प्रतीक्षा करें।
- प्रत्येक खंड के लिए सफलता या विफलता रिपोर्ट प्राप्त करें।
- विफल हिस्सों को दोबारा अपलोड करें।
- प्रतिशत में प्रगति पाएं।
यहां कुछ मोटा जावास्क्रिप्ट है। मैं सचमुच खो गया हूँ। कुछ कोड ऑनलाइन मिला और इसे संशोधित करने का प्रयास किया।
$.chunky = function(file, name){
var loaded = 0;
var step = 1048576//1024*1024;
var total = file.size;
var start = 0;
var reader = new FileReader();
reader.onload = function(e){
var d = {file:reader.result}
$.ajax({
url:"../record/c/index.php",
type:"POST",
data:d}).done(function(r){
$('.record_reply_g').html(r);
loaded += step;
$('.upload_rpogress').html((loaded/total) * 100);
if(loaded <= total){
blob = file.slice(loaded,loaded+step);
reader.readAsBinaryString(blob);
} else {
loaded = total;
}
})
};
var blob = file.slice(start,step);
reader.readAsBinaryString(blob);
}
मैं उपर्युक्त कैसे प्राप्त कर सकता हूं। कृपया एक समझदार समाधान होने पर क्या हो रहा है यह समझाएं।
आप की कोशिश की है https://github.com/blueimp/jQuery-File-Upload/wiki/चंक-फ़ाइल-अपलोड – madalinivascu
खराब शुरुआत नहीं है, आपको एक संचित रेंज के साथ टुकड़ा करने की आवश्यकता है, जो टुकड़ा आकार लोड होगा, और चरण स्थिर रहता है ... सामान्य रूप से, छोटी पीसियों में समस्या को तोड़ने का प्रयास करें, जैसे ऐसा कुछ जो फ़ाइल से डेटा की एक श्रृंखला अपलोड कर सकता है, फिर एपी कला जो फ़ाइल के प्रत्येक भाग पर रेंज अपलोडर को कॉल कर सकती है, फिर त्रुटियों को संभालने के लिए एक हिस्सा, फिर "मैं कर चुका हूं" की घोषणा करने के लिए एक हिस्सा, ... संक्षेप में, अधिक छोटे कार्यों में, कम एक बड़ा अधिभार फ़ंक्शन। – dandavis
@ दंडवीस मेरे पास एक और फ़ंक्शन है जो केवल भाग ही कर सकता है, समस्या प्रत्येक खंड को अपलोड करने की प्रतीक्षा कर रही है। इसकी एक सरणी जिसमें लगभग 1 एमबी के भाग होते हैं। – Relm