Dynamicznie ustawia wartość wejściowego pliku [duplikat]
Czy istnieje sposób, aby ustawić wartość wejścia pliku (<input type="file" />
), czy to wszystko jest zablokowane dla bezpieczeństwa? Próbuję użyć openfiles google gears, aby zrobić prosty multi-uploader.
Uwaga:
Poniższe odpowiedzi odzwierciedlają stan starszych przeglądarek w 2009 roku. Teraz możesz ustawić wartość elementu wejściowego pliku dynamicznie / programowo za pomocą JavaScript w 2017 roku.
Zobacz odpowiedź na to pytanie, aby uzyskać szczegółowe informacje, a także demo:
jak programowo ustawić wartość wejściową pliku(np.: podczas przeciągania plików)?
4 answers
Nie można dynamicznie zmieniać wartości pola file, w przeciwnym razie można ustawić je na "c:\yourfile" i bardzo łatwo kraść pliki.
Istnieje jednak wiele rozwiązań dla systemu multi-upload. Domyślam się, że chcesz mieć otwarte okno wyboru wielokrotnego.
Może zajrzyj na http://www.plupload.com/ - jest to bardzo elastyczne rozwiązanie do przesyłania wielu plików i obsługuje strefy upuszczania e. t. C.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-15 10:53:42
Pracuję nad aplikacją angular js i mam podobny problem. To, co zrobiłem, to wyświetlenie obrazu z db, a następnie utworzony przycisk, aby usunąć Lub zachować bieżący obraz. Jeśli użytkownik zdecydował się zachować bieżący obrazek, zmieniłem atrybut ng-submit na inną funkcję, która nie wymaga walidacji obrazu i zaktualizowałem rekord w db bez dotykania oryginalnej nazwy ścieżki obrazu. Funkcja Usuń obraz zmieniła również wartość atrybutu ng-submit z powrotem na funkcję, która przesyła formularz i zawiera walidację obrazu i przesyłanie. Również trochę javascript, aby przesunąć do widoku, aby przesłać nowy obraz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-19 08:01:55
Skończyłem robiąc coś takiego dla AngularJS na wypadek gdyby ktoś natknął się na to pytanie:
const imageElem = angular.element('#awardImg');
if (imageElem[0].files[0])
vm.award.imageElem = imageElem;
vm.award.image = imageElem[0].files[0];
A następnie:
if (vm.award.imageElem)
$('#awardImg').replaceWith(vm.award.imageElem);
delete vm.award.imageElem;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-06 16:10:25
Miałem podobny problem, potem próbowałem napisać to z JavaScript i działa! : referenceToYourInputFile.value = "" ;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-18 06:35:10