Mam 64000 małych obrazów Chcę załadować na moją stronę (przy użyciu istniejącego sprawdzania poprawności, więc nie ma FTP itp.). Stworzyłem plik HTML5 [multiple] type = input, aby móc go użyć w przypadku setek lub setek obrazów. Setki to nie problem. Obrazy są grupowane i wysyłane na serwer.Jaka jest maksymalna liczba plików do wyboru w danych wejściowych HTML5 [wielu]?
Ale kiedy wybieram folder zawierający ~ 16000 obrazów, lista plików wejściowych FileList jest pusta ... Zdarzenie onchange jest wyzwalane, ale lista plików jest pusta. Wygląda na to, że przeglądarka (lub system plików lub system operacyjny?) Wybiera problem z wyborem wielu plików.
Utworzyłem bardzo małe narzędzie, aby określić, co może być max: http://jsfiddle.net/rudiedirkx/Ehhk5/1/show/
$inp.onchange = function(e) {
var l = 0, b = 0;
for (var i=0, F=this.files, L=F.length; i<L; i++) {
l += F[i].name.length;
b += F[i].size;
}
$nf.innerHTML += this.files.length + ' files: ' + (b/1000/1000) + ' MB/' + l + ' chars of filename<br>';
};
Wszystko robi to count:
- liczba plików
- numer znaków wszystkie nazwy plików są połączone
- liczba MB całkowitego rozmiaru pliku
Kiedy próbuję to, jak uzyskać jak najwyżej:
1272 pliki: 176,053987 MB/31469 znaków z nazwy pliku
(32 & Win7 64 bit, Chrome 26-52)
następny obraz (co nie) może być:
- 1273 obrazów, co nie jest oczywiste, c ut-off
- pomiędzy 176 a 177 MB rozmiaru pliku, również nie jest oczywistym odcięciem
- mniej niż 32000 znaków nazw plików, również nie jest oczywistym punktem odcięcia, chociaż może wyglądać na 32k ...
W moim kalkulatorze, 1 MB = 1000^2 bajty, a nie 1024^2. (To byłby MiB, ale może mój OS/system plików/przeglądarka nie zgadza się.)
Moje pytanie brzmi: dlaczego tak wiele plików? Dlaczego to max? Czy zależy to od systemu operacyjnego lub przeglądarki? Gdzie znajdę specyfikacje? Czy to wina JS? Wyszukaj "pliki maksymalnych plików wejściowych", a tylko wyniki w atrybucie [max], co nie ma znaczenia.
Więcej wyniki badań:
- W Firefoksie max wydaje się być znacznie wyższa. Co najmniej "2343 pliki: 310.66553999999996 MB/60748 znaków nazwy pliku" (to wszystkie pliki, które mam tutaj)
- W przeglądarce Firefox również: "Pliki 16686: 55.144415 MB/146224 znaki z pliku”(znacznie mniejszy, ale bardziej pliki)
Aktualizuj
- Chrome 52 kanarek Windows jest nadal 32k nazwy pliku
- Firefox (44+) w systemie Windows jest nadal nieograniczony
doskonała odpowiedź! Według Chromium jest to poprawione w 10. Po prawej ... I nie mogę komentować = (Stworzyłem nowy problem z linkami do 2 "naprawionych" problemów: https://code.google.com/p/chromium/ issues/detail? id = 237500 – Rudie
bardzo fajnie Na komputerze z systemem Windows byłem w stanie przetestować, czy nazwa pliku może mieć górny limit 215 znaków + kropka + 3 znaki rozszerzające = łącznie 219 znaków – Rose
Problem jest nadal obecny w Chrome 50 zobacz ten moduł do śledzenia błędów Chrom: https://bugs.chromium.org/p/chromium/issues/detail?id=112538 – Alex