Avatar billede gigraf Nybegynder
13. oktober 2003 - 10:50 Der er 18 kommentarer og
1 løsning

remote file access via et CGI script

Hej,

Jeg har en HTML side med nogle forms. En af disse vil have et link til en lokal file (af typen FITS). Disse parameters bliver saa sendt til et CGI script som skal extracte headeren i denne fil.
Header er ca. 1-2 kbytes men selve filen er 1 MB stor.

Jeg vil ikke upload 1 MB data for derefter at smide 99.9% vaek igen.

Saa mit spmg. er hvordan jeg fra mit cgi script kan aabne denne fil remotely og saa extrakte headeren paa klientens side istedet for paa server side.

Any ideas?

cheers,
gigraf
Avatar billede mfalck Praktikant
13. oktober 2003 - 14:28 #1
det kan du ikke - en løsning som jeg lige kan se er at lave en java-applet som kan eksekveres på klient-maskinen som (måske) kan udtrække de relevante data for dig.
Avatar billede breum Nybegynder
13. oktober 2003 - 16:37 #2
Alternativt måske en cron, der extracter headers 1 gang i døgnet/timen....?
Avatar billede mfalck Praktikant
13. oktober 2003 - 19:58 #3
æh - ja så skal man køre cron på klient-maskinen ?!!?

"extrakte headeren paa klientens side istedet for paa server side."
Avatar billede gigraf Nybegynder
14. oktober 2003 - 09:51 #4
ja, mfalck. Du har fat i noget der :-)  Et cron er naturligvis ikke muligt da input kan komme fra hvilken som helst klient i verden.

Jeg havde godt taenkt paa at det nok ikke ville vaere muligt direkte at aabne filer remotely (paa et ekternt net) pga. sikkerhed. Desuden er CGI scriptet heller ikke eksekverbart paa klient siden men paa server siden. Saa du har sikkert ret mfalck.

Min naeste ide vile vaere at uploade filen. Men istedet for at uploade 100% saa skal den feks. kun oploade 1-2% og saa abryde uploade. Er det mon muligt? og hvis ja, hvordan?
Avatar billede mfalck Praktikant
14. oktober 2003 - 10:01 #5
hmm .. jeg _tror_ ikke at du kan afbryde en overførsel via CGI, da det foregår på http-protokol niveau og er styret fra klienten. Omvendt så vil jeg ikke afvise at der findes et hack som kan det, men jeg vil nok ikke betegne det som standard (læs: jeg har aldrig brugt det ;-) ).

Så vidt jeg kan se så slipper du ikke udenom at lave noget på klientsiden. Kan du sille krav til de browsere, som anvender sitet ? Jeg tænker på om du evt kunne strikke enten en applet eller en activeX-kontrol sammen som kan klare dit problem for dig ?
Avatar billede breum Nybegynder
14. oktober 2003 - 10:04 #6
Cron er serverside, men jeg gik ud fra at du ønskede det du ber om for ikke at hente 1 MB mange gange dagligt, for at smide 99,9% væk,
Jeg tænkte at dit problem kunne løses ved en cron der 1 gang dagligt henter 1MB, laver en ny fil med headeren, og så kunne du hente denne mange gange. Hvis jeg har forstået problemet korrekt, kunne dette være en alternativ løsning til client-side.

Det er jo heller ikke "Pænt af dig" At "tvinge" clienten til at downloade 1 MB, hvis han kun skal se 1-2 kb.
Avatar billede breum Nybegynder
14. oktober 2003 - 10:05 #7
Ups, ligger filen på clientens maskine, det havde jeg ikke lige fanget.
Avatar billede gigraf Nybegynder
14. oktober 2003 - 10:13 #8
ja, filen ligger paa clientens side. Men alligvel har du ret. Det er nemlig ikke smart at sende 1 MB til serveren og tvinge (WHO EVER) at vente paa at 1 mb er sendt. Isaer naar de kun skal bruge <1KB af filen.

active-X er udelukket. Men maaske er en Java Applet loesningen. Det vil jeg lige tjekke op paa.
Avatar billede mfalck Praktikant
14. oktober 2003 - 10:16 #9
problemet er jo med java at hvis du skal understøtte alle java så er du lidt begrænset på MS platformen, men det er nok umiddelbart det bedste skud.
Avatar billede gigraf Nybegynder
14. oktober 2003 - 10:22 #10
Siden retter sig hovedsagligt til UNIX brugere, da de fleste astrofysisker jo sidder med sun workstations og linux bokse.

Men det er noget pis at man ikke kan uploade byte pr. byte. og efter 256 bytes skal den bare close io handleren  :-)
Avatar billede mfalck Praktikant
14. oktober 2003 - 10:26 #11
well - du kan jo prøve det og se om det virker - brugeren vil sikkert få en fejl så ?
Avatar billede mfalck Praktikant
14. oktober 2003 - 10:28 #12
lidt i stil med den side man vil få hvis man prøver at uploade noget og serveren går ned i mellemtiden
Avatar billede gigraf Nybegynder
14. oktober 2003 - 10:29 #13
Jeg tror ikke man kan, men jeg skal naturligvis proeve. Fejl meddeleser vil jeg naturligvis ikke have :-)

jeg tjekker...
Avatar billede mfalck Praktikant
14. oktober 2003 - 10:31 #14
jeg tænker bare at det er pænere at sakse filen over og så kun sende det til serveren; evt kan du lave et shell-script som "avancerede brugere" kan køre inden og de så kan nøjes med at sende det du gerne vil have ? når det er en lukket gruppe, så er det vel fair nok at tilbyde den slags features til avancerede brugere ?
Avatar billede gigraf Nybegynder
14. oktober 2003 - 10:36 #15
Ja, i begyndelsen vil der vaere tale om en lukket gruppe. Men meningen er at den skal bruges af alle der vil dele spectorgrafier mm.
Avatar billede mfalck Praktikant
14. oktober 2003 - 10:42 #16
ok jeg gætter på at det er en slags setiathome-ting du arbejder på eller hvad ??!

mit (forsigtige) råd ville være at starte med at lave et shell-script som kan sakse det ud som du vil have, og så holde java appletten i baghånden til når det skal udvides ?
Avatar billede gigraf Nybegynder
14. oktober 2003 - 10:52 #17
Nej, det er ikke setihome. Arbejder for ESA/ESO men dette er ren hobby selvom det da har en del med mit normale arbejde at goere :-)

ja, jeg kunne lave et lille C script som klipper headeren ud...
Avatar billede mfalck Praktikant
14. oktober 2003 - 10:55 #18
jeg skrev nu også "en slags setiathome-ting" ...
Avatar billede mfalck Praktikant
16. oktober 2003 - 12:16 #19
men du må lige skrive om du har brug for mere hjælp
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
Kurser inden for grundlæggende programmering

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