Jak mogę ustawić wartość tego?
<input type="file" />
javascript
html
file-upload
preset
Alon Gubkin
źródło
źródło
Odpowiedzi:
Nie możesz, ze względów bezpieczeństwa.
Wyobrażać sobie:
Nie chcesz, aby odwiedzane witryny mogły to robić, prawda? =)
źródło
Nie możesz
Jedynym sposobem ustawienia wartości pliku wejściowego jest wybranie pliku przez użytkownika.
Odbywa się to ze względów bezpieczeństwa. W przeciwnym razie można utworzyć JavaScript, który automatycznie przesyła określony plik z komputera klienta.
źródło
Nie jest to odpowiedź na twoje pytanie (na które inni odpowiedzieli), ale jeśli chcesz mieć możliwość edycji przesłanego pola pliku, prawdopodobnie chcesz:
<input>
tag załadować nowy plikźródło
<input type="file" />
istniejący obraz produktu? Mogę wyświetlić istniejący obraz w<img />
tagu, ale po przesłaniu plik nie przechodzi.Nie możesz I to jest środek bezpieczeństwa. Wyobraź sobie, że ktoś zapisuje plik JS, który ustawia wartość wejściową pliku w pliku wrażliwych danych?
źródło
Jak wszyscy tutaj stwierdzili: Nie można automatycznie przesłać pliku za pomocą JavaScript.
JEDNAK! Jeśli masz dostęp do informacji, które chcesz wysłać w swoim kodzie (tj. Nie passwords.txt), możesz przesłać je jako typ obiektu blob , a następnie traktować jako plik.
To, co zobaczy serwer, będzie nie do odróżnienia od kogoś, kto faktycznie ustawia wartość
<input type="file" />
. Ostateczną sztuczką jest rozpoczęcie nowego XMLHttpRequest () na serwerze ...Więc do czego możesz tego użyć? Używam go do przesyłania elementów płótna HTML5 jako plików jpg. Oszczędza to użytkownikowi konieczności otwierania
file
input
elementu, tylko w celu wybrania lokalnego, buforowanego obrazu, którego rozmiar właśnie zmieniono, zmodyfikowano itp. Ale powinien on działać z dowolnym typem pliku.źródło
1) Problem wartości domyślnej w pliku wejściowym NIE JEST „zrobiony ze względów bezpieczeństwa”, ale przeglądarki „po prostu nie wdrożyły go, bez uzasadnionego powodu”: zobacz ten szczegółowy raport
2) Prostym rozwiązaniem może być użycie wprowadzania tekstu na górze pliku, tak jak tutaj . Oczywiście potrzebujesz kodu, aby wysłać plik, używając teraz wartości do wprowadzania tekstu, a nie do wprowadzania pliku.
W moim przypadku robienie aplikacji HTA nie stanowi problemu, w ogóle nie używam formularza.
źródło
Zdefiniuj w html:
W JS:
Po:
źródło
Właściwie możemy to zrobić. możemy ustawić wartość domyślną pliku za pomocą kontrolki przeglądarki internetowej w języku c # przy użyciu biblioteki FormToMultipartPostData. Musimy pobrać i uwzględnić tę bibliotekę w naszym projekcie. Przeglądarka internetowa pozwala użytkownikowi poruszać się po stronach internetowych w formularzu. Po załadowaniu strony internetowej skrypt w webBrowser1_DocumentCompleted zostanie wykonany. Więc,
Pobierz poniższy link, aby pobrać i uzyskać pełne odniesienie.
https://www.codeproject.com/Articles/28917/Setting-a-file-to-upload-inside-the-WebBrowser-com
źródło