[JS/Opera] Volledig bestandspad uit file input uitlezen

Pagina: 1
Acties:
  • 110 views sinds 30-01-2008
  • Reageer

  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 29-11 11:21
Goedenavond,

Ik heb een klein formuliertje, waarmee ik een bestand wil uploaden.
Dit te uploaden bestand wil ik ook direct graag als 'src' van een image hebben. Oftewel: de source van het plaatje moet ingesteld staan op het lokale bestand (wat ik selecteer), dus nog _voor_ het uploaden.

Ik heb dus een formulier, input-veld (type file) en een image.Na het kiezen van een bestand, wordt de 'src' ingesteld op de value van het input-veld

In FireFox en IE doet dit het prima, maar Opera denkt slimmer te zijn en geeft als waarde (de value van het input-veld) alleen de bestandsnaam terug.
Ik heb hier een kleine test op uitgevoerd en ben erachter gekomen dat Opera 'automatisch' split op de backslash ("\") en dan het laatste element teruggeeft.

Wanneer ik echter zelf het volledige pad intyp, met de normale slash ("/"), doet het in Opera ook prima.


Wie weet hoe ik (in Opera) het volledige pad uit mijn input-type krijg? Alvast bedankt :)


Edit: Ook heb ik al op Google gezocht, maar weet niet echt hoe hier nou precies op te zoeken. Tot dusver nog geen nuttige informatie gevonden, vandaar deze post.

[ Voor 8% gewijzigd door aaajeetee op 23-05-2007 20:25 ]


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Ik denk dat dat een beveiligingsmaatregel is van Opera waar je niet omheen kan werken, je zult een andere manier moeten bedenken, vrees ik...

We are shaping the future


  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Bij firefox als je dan een bestand van lokaal haalt dan wordt de pad c:\tmp\plaatje.jpg. Komt er dan bij opera wel file://localhost/ voor te staan? Dus file://localhost/c:/tmp/ ?
Als dat niet zo is, misschien kan je dan met javascript (want daar werk je al mee) kijken of de gebruiker Opera gebruikt en dat er zelf voor zetten (en desnoods de slashes aanpassen)?
Overigs als ik intik c:\tmp\ dan maakt Opera daar zelf netjes file://localhost/c:/tmp/ van.
En dit heb ik er over gevonden.

Maar het zal wel zo zijn zoals Alex) zegt.

Opera is slimmer, maar laten we daar niet over gaan discuseren...

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 29-11 11:21
ibmos2warp schreef op woensdag 23 mei 2007 @ 20:38:
Bij firefox als je dan een bestand van lokaal haalt dan wordt de pad c:\tmp\plaatje.jpg. Komt er dan bij opera wel file://localhost/ voor te staan? Dus file://localhost/c:/tmp/ ?
Als dat niet zo is, misschien kan je dan met javascript (want daar werk je al mee) kijken of de gebruiker Opera gebruikt en dat er zelf voor zetten (en desnoods de slashes aanpassen)?
Overigs als ik intik c:\tmp\ dan maakt Opera daar zelf netjes file://localhost/c:/tmp/ van.
En dit heb ik er over gevonden.

Maar het zal wel zo zijn zoals Alex) zegt.

Opera is slimmer, maar laten we daar niet over gaan discuseren...
Als ik handmatig "C:\2.jpg" invoer, krijg ik als response "2.jpg". Pas wanneer ik met "/" ga werken, krijg ik het volledige pad te zien. Opera vangt (bij mij) dus echt de backslashes af, no matter what ik invoer.

Bij FF en IE krijg ik geen file:/// te zien, of iets met localhost, alleen het pad wat ik gekozen heb.
FF en IE geven dus dit: "C:\2.jpg".

Ik kan hier verder geen checks oid op los laten, omdat de 'value'-property mij dus (in dit geval) alleen 2.jpg teruggeeft. Ik kan dus nergens het complete pad opvragen (of daar een check op loslaten). :(

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Titelfixje. Let er de volgende keer zelf even op dat je een voldoende duidelijke titel kiest. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • aaajeetee
  • Registratie: Augustus 2002
  • Laatst online: 29-11 11:21
-NMe- schreef op donderdag 24 mei 2007 @ 00:19:
Titelfixje. Let er de volgende keer zelf even op dat je een voldoende duidelijke titel kiest. :)
Dankje, wou m nog aanpassen maar kon dat niet meer.


Update voor wat betreft het probleem: ik heb nu in een html bestand een tig-aantal images gezet, met verschillende sources:
code:
1
2
3
4
5
6
7
8
9
<img src = "c:\1.png"/><br/>
<img src = "c:\\1.png"/><br/>
<img src = "c:/1.png"/><br/>
<img src = "file:///c:\1.png"/><br/>
<img src = "file:///c:\\1.png"/><br/>
<img src = "file:///c:/1.png"/><br/>
<img src = "file://c:\1.png"/><br/>
<img src = "file://c:\\1.png"/><br/>
<img src = "file://c:/1.png"/><br/>

Als ik dit bestand op mijn pc bekijk (dus de .html bijv op mijn bureaublad heb staan), doen alleen de eerste 3 images het niet.
Wanneer ik dit bestand dus op een webserver zet, doet geen enkel plaatje het.

Weet iemand waar dit door komt en hoe ik dit op kan lossen? :)


Edit: Dit werkt wel weer in IE overigens...
Pagina: 1