मैंने जेएस (AJAX POST) में एक ड्रैग और ड्रॉप फ़ाइल अपलोड स्क्रिप्ट सेट की है और मुझे सफारी में फ़ोल्डर फ़िल्टर करने में कठिनाई हो रही है - संस्करण 5.0.3 (6533.19.4)।एचटीएमएल 5 खींचें और ड्रॉप करें - सफारी में फ़ोल्डर का पता लगाएं (फाइललिस्ट, फ़ाइल)
जब भी मैं ब्राउज़र में एकाधिक फाइल/फ़ोल्डरों को छोड़ देता हूं, तो क्रोम फ़ोल्डरों को फ़िल्टर करेगा, और फ़ायरफ़ॉक्स .size
के लिए 0 लौटाएगा, इसलिए उन मामलों के खिलाफ सुरक्षा करना मुश्किल है। सफारी, हालांकि, 68 बाइट फ़ाइल (फ़ोल्डर का आकार) वापस कर देगा।
क्या यह जांचने का कोई तरीका है कि यह File
(FileList
में आइटम) एक फ़ोल्डर है? (, .type
कोशिश कर में कोई मतलब नहीं है, क्योंकि यह अज्ञात फ़ाइलों के लिए कुछ भी नहीं देता है फ़ोल्डर के रूप में रूप में अच्छी तरह ...) File/Blob API है कि इस हालत के लिए परीक्षण में कुछ भी खोजने के लिए प्रतीत नहीं कर सकते
एक थोड़ा और अधिक जानकारी:
मूल रूप से क्या होता है कि AJAX अनुरोध में एक खाली शरीर होता है। मैं FormData
सहायता से अपलोड कर रहा हूँ:
var file = ...; // the dropped file
var formData = new FormData();
formData.append("file", file);
var xhr = new XMLHttpRequest();
...
xhr.send(formData);
मैं इस के लिए एक बग रिपोर्ट पोस्ट: https://bugs.webkit.org/show_bug.cgi?id= 638 9 8 – meleyal
क्रोम के नवीनतम संस्करण सफारी के समान मुद्दे पेश कर रहे हैं। क्या आपके पास इन्हें फ़िल्टर करने की मानक विधि को ट्रैक करने का कोई भाग्य है? –
ऐसा लगता है कि इस दस्तावेज़ के आधार पर एक 'isDirectory' प्रॉपर्टी है https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry/isDirectory लेकिन शायद सफारी में समर्थित नहीं हो सकता है। –