cbastus Skrevet 8. mai 2008 Skrevet 8. mai 2008 Hei Jeg trenger å hente ut filstørrelsene til filer på samme server som scriptet mitt kjører. Normalt ville dette blitt løst med et serverside script (PHP osv.), men i dette tilfellet går det ikke. I utgangspunktet trenger jeg bare filstørrelsen til PDF-dokumenter, men det er i grunn kjekt om jeg kan vise størrelser fra alle type filer. Om dette på en eller annen måte lar seg løse med HTML DOM el.l er det i grunn ennå bedre. På forhånd takk for svar.
Dj_Offset Skrevet 9. mai 2008 Skrevet 9. mai 2008 Joda, dette går men er veldig hårete. En løsning er å bruke asynkrone javascript kall mot URL'er for å hente ut størrelsen fra HTTP. Dette fungerer bare for filer som har en Content-Length og som ligger på samme server som selve skriptet kjører på, men her er et lite løsningsforslag: <html> <head> <script> function checkSize(url, callbackFunc) { var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0"); request.open("HEAD", url, true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { var size = request.getResponseHeader("Content-Length"); if (size) { callbackFunc(size); } } }; request.send(); } </script> <body onLoad="checkSize('/foobar', alert);"> </body> </html>
cbastus Skrevet 13. mai 2008 Forfatter Skrevet 13. mai 2008 var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0"); Dette ActiveX objektet vil vel be om tilgang i IE < 7? Jeg skulle helst hatt så lav brukerterskel som mulig for siden. Jeg ser også for meg at dette kan gi en noe treg rendring når man får en del http request, så løsningen blir nok å sette filstørrelsen manuelt inntil videre. Takk for tipset.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå