Avatar billede hermandsen Juniormester
03. maj 2004 - 14:49 Der er 14 kommentarer og
1 løsning

Skriv en værdi til <input type="file">

Hej Eksperter!!

Sidst oprettede jeg et spørgsmål om hvordan man læser en <input type="file"> værdi ind i en <input type="hidden"> værdi. Dette spørgsmål er desværre forsvundet under nedbrudet, men ikke desto mindre er jeg nu rendt ind i det omvendte problem!!

Jeg kan nemlig ikke få lov til at skrive en værdi til en <input type"file">. Skriver jeg værdien i value="værdi" bliver den hverken vist i Internet Explorer eller Mozilla Firefox. Opera tager dog godt i mod den!

Jeg tænkte at det var muligt at rette med et JavaScript, men uden held!

Der er et eksempel på:
http://hermandsen.homepage.dk/exp/inputfile.html

Firefox følgende fejl i JavaScript konsollen:
Error: uncaught exception: [Exception... "Security error"  code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)"  location: "http://hermandsen.homepage.dk/exp/inputfile.html Line: 6"]

Sådan som jeg læser det, så handler det om en sikkerhedsfejl, hvilket er klart, da html-siden ikke skal have lov til at bestemme hvilken fil der skal uploades, men findes der en omvej til at undgå dette??

Systemet som jeg udvikler skal ikke en gang kunne uploade filerne, men kun bruge stierne dertil, da der skal laves playlists ud fra dem.

//hermandsen
Avatar billede and_ Nybegynder
03. maj 2004 - 14:51 #1
man kan ikke scripte till input file af sikkerhedsmæssige årsager ;)
Avatar billede roenving Novice
03. maj 2004 - 14:51 #2
Nej !-)
Avatar billede and_ Nybegynder
03. maj 2004 - 14:53 #3
du kan se her... der fik jeg samme forklaring ;)

http://www.eksperten.dk/spm/427066
Avatar billede hermandsen Juniormester
03. maj 2004 - 14:54 #4
Kan det evt. løses hvis brugeren angiver sitet til at være "sikkert"??
Det er et lukket system, og da jeg ikke regner med at få overbevist brugerne om at få installeret Opera, kan sikkerheds politikkerne så ændres i de enkelte browsere??
Avatar billede and_ Nybegynder
03. maj 2004 - 14:58 #5
tror jeg næppe...

Alle systemer kan hackes, derfor er det bedre at helt fjerne muligheden for at scripte til en file box....

Hvis man nu forestiller sig at du lavede et script der kunne aflæse hvilken netbank folk benyttede og derefter fik "brygget" et eller andet sammen som kunne hive deres brugerid ud, så har di lige pludselig mulighed for at kunne "stjæle" folks netbank uden at de selv er vidende om det...

Så har du selvfølgelig bare lige problemet med at skulle knække krypteringen ;)

Men jeg håber du kan se ideen med min lille histore ;)
Avatar billede hermandsen Juniormester
03. maj 2004 - 15:02 #6
Kan skam udemærket se fornuften i ikke at kunne scripte til en <input type="file">, det er bare træls i mit tilfælde!! :(

Nå, jeg må vel affinde mig... Så må jeg se om der kan findes en gylden middelvej med kunden!! :)
Avatar billede roenving Novice
03. maj 2004 - 16:24 #7
-- eller hvad med at sætte stien på en skjult file-input til default registry ...
Avatar billede olebole Juniormester
03. maj 2004 - 18:06 #8
<ole>

Jeg går udfra, du skal kunne udvælge filer og efterfølgende bruge dem i en playlist. Det kan du sagtens bruge type="file" til - men du kan under ingen omstændigheder scripte _til_ elementet. Du kan aftaste den valgte sti med:
  <input type="file" onchange="alert(this.value)">

I stedet for en alert skal du naturligvis bruge en funktion, der foretager sig det ønskede med stien. Uden at kende mere til dine ønsker, kan jeg dog ikke komme det nærmere  :)

/mvh
</bole>
Avatar billede hermandsen Juniormester
04. maj 2004 - 02:12 #9
Det jeg har er en database med en masse referencer til filerne. Hvis brugeren ønsker at redigere i det enkelte element, så kunne det være smart, hvis stien til filen blev vist i <input type="file">-tag'et.

I bund og grund er det hvad jeg søger, men det ser desværre ud til at være umuligt!! :(
Avatar billede olebole Juniormester
04. maj 2004 - 02:27 #10
Enten forstår du slet ikke, hvad type="file" bruges til - eller også fatter jeg stadig ikke en hat af, hvad du vil bruge elementet til.

Elementet kan bruges til at udvælge en fil på brugerens maskine - men de referencer, du har i din DB, er vel ikke dine brugeres lokale stier til billederne ... eller ...?!??!!!
Avatar billede hermandsen Juniormester
05. maj 2004 - 23:53 #11
Okay, du får hele historien!! :)

Jeg arbejder til dagligt som træner og teknikker ved gymnastik-showgruppen, Flying Superkids.

Når vi skal afsted til diverse ture rundt omkring i verdenen, skal der laves 4 forskellige lister!!!
1. Program-liste så børnene og trænerne kan finde ud af hvad der skal laves.
2. Pakke-liste, så vi altid kan få de rigtige ting med os.
3. Lys-cue plan, angiver et memory-step på vores lyspult til det enkelte program.
4. Playliste, så musikken kan køre så automatisk som muligt.

Dette skal i stedet blive til at vi laver én liste (program-listen), og så bliver resten genereret ud fra den.

Til playlisten medbringer vi ved hvert show 2 små "bokse" (computere), som indeholder alt musikken.
Begge maskiner har nøjagtig samme indhold. Går den ene ned, kan den anden let kobles til, og showet kan køre videre.

For at generere de playlists der skal bruges, har jeg naturligvis brug for den absolutte sti til de enkelte filer, hvilket jeg har løst ved at scripte indholdet af en <input type="file"> ind i en <input type="hidden">, og så læse dens værdi. Ellers får jeg kun selve filnavnet.

Som sagt, systemet er internt, og skal sikkert kun bruges af 4-5 personer. Alligevel ligger der en utrolig tidsbesparelse i systemet, og fejlmarginerne minimeres. Vi er af og til kommet afsted med en trampolin for lidt, eller nogle andre smådele som er meget nødvendige!! ;)

>>olebole
Jeg håber det var forklaring nok!! :)

Alt i alt er mit spørgsmål jo blevet besvaret. Det kan ikke lade sig gøre at scripte til en <input type="file">... Øv bøv!! :(

Nå, men and_, point til dig!! :)

//hermandsen
Avatar billede olebole Juniormester
06. maj 2004 - 01:38 #12
Jamen, så må vi jo finde på en anden, begavet løsning ... om ikke andet, så med et par stropper, en halv rulle halvanden kvadrat og et par meter gaffa. Det er da først der, det for alvor kilder ned ad en rigtig teknikerryg.
Det svære laver vi igår ... det umulige må vente med at blive færdig til imorgen. Men så bliver det også fedt!  ;o)
Glemte jeg at sige, jeg er opvokset på teater (tekniker-far) og selv arbejdede 20 år som lyd/lys tekniker (teater, show/musik, studie og turne), før jeg beyndte at programmere?  :D

Altså, vi er enige om, du kan skrive værdien af en type="file" til et hidden field.
Jeg har så forståelsen af, du også gerne vil kunne lægge en værdi i en type="file" ... men hvorfor? Hvorfor er det præcis, du skal forvælge filen - og mon ikke, vi kan finde en anden udvej?
/mvh
Avatar billede roenving Novice
06. maj 2004 - 01:45 #13
Tjah, kom til at tænke på, om ikke det blev lavet på boksene, for så kunne man vel sætte brugerens default dokument-mappe til den, som skulle bruges !-)
Avatar billede hermandsen Juniormester
06. maj 2004 - 12:21 #14
>>olebole
Grunden til at jeg gerne vil kunne angive en værdi i feltet, er for at vi kan redigere i programmerne, hvis noget skal ændres, det er egentlig det hele!! :)
Avatar billede hermandsen Juniormester
06. maj 2004 - 12:23 #15
>>roenving
Vi laver programmerne før vi tager af sted. De to bokse står fast ovre ved alt vores anden teknik. Dem gider vi da ikke slæbe frem og tilbage hver gang!! ;)

Playlisten stoppes bare på en kiks, og så afsted til fronten!! ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester