Fórumok
Ha ugyanazt a fájlt többször feltöltöm, hozzáad egy -x végződest a fájlnévhez.
Pl:
macska.jpg
macska-1.jpg
macska-2.jpg
Chrome nem csinálja, pár hete valami frissítés után műveli ezt a Firefox.
<form action="/action_page.php">
<input type="file" id="myFile" name="filename">
<input type="submit">
</form>
Hogy tudom visszaállítani az eredeti állapotot?
Hozzászólások
Nem definiált az, hogy hogyan kellene viselkednie ebben az esetben a böngészőnek, megteheti az egyik böngésző, hogy így viselkedik, a másik meg úgy, hogy máshogy.
Szerveroldalon fel kell készülni arra, hogy ugyanazt a fájl teljesen random módon is elnevezheti a böngésző, nem tilos neki.
Lásd: https://html.spec.whatwg.org/#file-upload-state-(type=file) és https://html.spec.whatwg.org/#multipart-form-data
121.0.1 (64bit) nekem nem csinálja. De most hogy mondod egyik kolléga gépén tapasztaltam ilyet.
A böngésző hogyan tudja ellenőrizni, hogy szerveroldalon már van ilyen nevű fájl?
Szerintem nem a szerveroldal nevezi át a fileokat. Kliens oldali hiba/"feature" lesz ez.
Na jó, de honnan tudja a brózer feltöltésnél, hogy "jajj, anyám, a júzer a macska.jpg-t akarja feltölteni, de szerveroldalon ez már bizonyára létezik, tehát más nevet kell küldenem"
Abszolút találgatás, de lehet hogy van a letöltéshez hasonlóan feltöltős queue is, és így sikerült implementálni. Vagy csak.
Ez nekem fura, mert a file feltöltés a kliens szempontjából egy read-only, bármikor megismételhető művelet. Nem szükséges új neveket generálni.
Nem lehet amúgy, hogy pont az történik, hogy a user valahonnan letölt file-okat (akár ugyanazt többször is), és ezért letöltésnél kerül a filenévbe a szám, és aztán később konkrétan a számozott file-okat tölti fel?
Bakker, jogos. Én letöltést olvastam, és a nyitó postot is csak félig.
Ugyanez merült fel bennem, hogy a kliens miért viselkedik másként, ha már valahányszor fel lett töltve ugyanaz a file. A feltöltésnek megtörténtének nem sok köze van ahhoz, hogy a szerveren hogy van elnevezve a file, lehet, hogy nem is menti, vagy nem is file-ba menti a tartalmát a szerver.
A szerver egy mikrokontroller, fél éve nem piszkáltam a feltöltős részt. Valamit a Firefox baszott el. https://www.esp8266.org
https://www.esp8266.org/
A Firefox semmit nem baszott el, teljesen a szabványnak megfelelően működik.
Kiprobaltam python http szerverrel. Nekem ugy tunik, hogy a filenev nem valtozik.
FF 121.0.1 (64-bit)
Python 3.11.7
A fenti kodot siman beraktam az index.html-be.
python3 -m http.server 8000
Nyilvan, az action_page.php nem letezik. De ettol fuggetlenul nem valtozik a filenev, amivel megprobalja meghivni.
További érdekes kérdés, hogy hogyan menne GET-metódussal a fájl-feltöltés?