2013-12-11 4 views
7

खुला नहीं है, इसलिए मेरे पास एक फ़ाइल अपलोड साइट है, जिसे मैं एकाधिक फ़ाइलों को अपलोड करने के लिए एचटीएमएल 5 चंकिंग क्षमता का उपयोग करके विकसित करता हूं। यह क्रोम, फ़ायरफ़ॉक्स, आईई (मूल रूप से एचटीएमएल 5 क्षमता के साथ ब्राउज़र) के साथ-साथ सफारी पर भी ठीक काम करता है, लेकिन हाल ही में मैंने इसका परीक्षण किया है, सफारी 6.0.5 ठीक काम करता है, लेकिन सफारी 6.1 पर, अगर मैं कई फाइलें अपलोड करता हूं, तो कुछ फाइलें 0 हैं बाइट्स। मुझे यकीन नहीं है कि क्या हुआ।एकाधिक फ़ाइल अपलोड ऊपर सफारी 6.1 में काम नहीं करता है, जब तक कि वेब इंस्पेक्टर

जब मैंने परीक्षण किया, तो मैं 200 एमबी की कुल 70 फाइलें अपलोड करता हूं, और प्रत्येक फ़ाइल 5-8MBish के बीच होती है .. इसलिए कोई चंकिंग नहीं हो रहा है .. लेकिन जब मैं सर्वर पर जांच करता हूं, तो अधिकांश फ़ाइल 0 बाइट्स होती है (जैसे कि यह कभी नहीं अपलोड हो जाएं) कुछ फाइलों को छोड़कर (शायद 3-5 फाइलें)

सफारी 6.1.5 और नीचे सफारी 6.1 के साथ कोई अंतर है?

मेरा कोड मूल रूप से संक्षेप में है: यदि जावास्क्रिप्ट 10MB/फ़ाइल से बड़ा है, तो जावास्क्रिप्ट प्रत्येक फ़ाइल को तोड़ देगा, अगर ऐसा नहीं है तो यह बस अपलोड होगा। तो PHP अपलोड को संभालेगा (मानक फ़ाइल अपलोड शैली move_uploaded_file())।

function uploadFile(file_blob_chunk, file_name, file_part, total_file_chunk, file_id) { 
    //create a progress bar based on file id (check if it's the 0 part, otherwise there will be multiple bar for same file) 
    if(file_part == 0) { 
     progressBar(file_id); 
    } 

    //ajax call for creating multipart data form 
    fd = new FormData();  
    fd.append("file_for_upload", file_blob_chunk); 
    fd.append("file_id", file_id); 
    fd.append("file_name", file_name); 
    fd.append("file_part", file_part); 

    xhr = new XMLHttpRequest(); 
    xhr.fid = file_id; 
    xhr.fid_name = file_name; 
    xhr.fid_part = file_part; 
    xhr.fid_total_chunk = total_file_chunk; 

    xhr.upload.fid = file_id; 
    xhr.upload.fid_part = file_part; 
    xhr.upload.fid_total_chunk = total_file_chunk; 
    xhr.open("POST", "datas/upload/" + file_name + '/' + file_part, true); 

    xhr.send(fd); 

कोड बुद्धिमान यह किसी भी विचार क्या सफारी 6.1 के साथ गलत क्या है ऐसा ही कुछ है ...

?

मैं जाँच .. tmp फ़ोल्डर, अपलोड के दौरान tmp फ़ाइल 0 बाइट्स है

नोट: सफारी 6.1+, तो पर, हर फ़ाइल सही ढंग से अपलोड की गई है, अगर वह बंद हो, 10 फाइलों से बाहर वेब निरीक्षक, केवल 3 को अपलोड किया गया बाकी 0 बाइट्स है। इस अंतर का कारण क्या है?

+1

यह मदद कर सकता है या नहीं भी हो सकता है, लेकिन ऐसा लगता है कि सफारी 7.0 में काम करता है। मेरा मानना ​​है कि यह शायद सफारी 6.1 के साथ एक बग है क्योंकि मैंने 6.1 में एक ही मुद्दे को एक ही समस्या देखी है। – Telshin

+0

@Telshin यह अभी भी सफारी 7 – Harts

+0

पर होता है आप फ़ंक्शन 'अपलोडफाइल() 'कैसे कहते हैं? – R3tep

उत्तर

1

धागे में एक ही समस्या पर चर्चा का एक बहुत कुछ कर रहे हैं:

file input size issue in safari for multiple file selection

https://github.com/moxiecode/plupload/issues/363

Any workarounds for the Safari HTML5 multiple file upload bug?

और इस समस्या के लिए केवल वैकल्पिक हल सफारी के लिए कई अपलोड निष्क्रिय करने के लिए है।

+0

यह बिल्कुल समान नहीं है .. क्योंकि अधिकांश प्रश्न 2 साल पुराने हैं .. जो अभी भी पुराना सफारी संस्करण है .. और मेरा मामला उन सफारी काम कर रहा है। केवल सफारी 6.1 से शुरू हो रहा है तो यह मेरे मामले में काम नहीं कर रहा है। केवल सफारी को 6.0.5 से ऊपर तक अपडेट करने के बाद ही समस्या – Harts

+0

ठीक हुई, अगर ऐसा है तो मैं अपना जवाब हटा देता हूं – Oleg

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