-
Re: Bestandsgrootte
Ronald Klip <nieuws@bladibla.net.invalid> wrote:
>> Als ik het goed heb, moeten de gegevens zoals naam en grootte van een
>> bestand
>> al voor het uploadproces bekend zijn.... Toch?
>
> Zoals al gezegd in deze draad: client-side is dat alleen met een signed
> applet
Onder het motto van JNLP/webstart bestuderen:
http://tmp.tryba.nl/jup/
Deze versie gebruikt md5 checksums om te bepalen of files identiek zijn
(niet 100% betrouwbaar dus :).
BTW ik heb de nette manier van via jnlp files openen nog niet door, deze
code is dus gesigned onder het motto van:
Trust me, I know what I'm doing :)
--
Daniel Tryba
-
Re: Bestandsgrootte
galactus@stack.nl (Arnoud "Galactus" Engelfriet) schreef:
> Nico Schuyt <nschuyt@hotmail.com> wrote:
> >Jorick de Lange wrote:
> >> Als ik het goed heb, moeten de gegevens zoals naam en grootte van een
> >> bestand
> >> al voor het uploadproces bekend zijn.... Toch?
> >
> Maar iemand anders had nog een truc bedacht:
> http://www.jguru.com/forums/view.jsp?EID=1072481
> helemaal onderaan.
"You basically create a new Image object with that file name the same
way you do with image pre-loaders and check the size property of the
Image object. I have used it to get file sizes of images and audio
files, but it should work with other types as well."
var pic = new Image();
pic.src = "plaatje.png";
alert(pic.fileSize);
werkt bij mij alleen met plaatjes, en alleen in IE.
--
groet, Ronald
-
Re: Bestandsgrootte
Daniel Tryba wrote:
> Nico Schuyt <nschuyt@hotmail.com> wrote:
>
>>Ik probeer te voorkomen dat iemand grote manuals (1-4MB) upload die al op de
>>server staan door de naam en grootte te vergelijken.
>>De grootte van het bestand op de server is eenvoudig te verkrijgen met
>>file_size()
>>Probleem is om de grootte van het remote file te vinden zonder het eerst te
>>uploaden met <input type="file" ..>
>>Is daar een oplossing voor?
>
>
> Nee, PHP (daar gaat het toch om?) is pas aan de orde op het moment dat
> de file al binnen is.
Klopt. Maar ik heb wel eens een perl/php upload progress bar van het net
geplukt. Die laat in een popup zien hoever de upload gevorderd is en moet
dus ook vóórdat de file binnen is al alle info hebben. Dit ding was in
Perl/PHP geschreven. Met wat spitwerk is die wellicht om te bouwen.
Het ding staat hier:
http://sourceforge.net/projects/megaupload/
-
Re: Bestandsgrootte
Michiel de Roo <yourlove@welovespam.nl> wrote:
>> Nee, PHP (daar gaat het toch om?) is pas aan de orde op het moment dat
>> de file al binnen is.
>
> Klopt. Maar ik heb wel eens een perl/php upload progress bar van het net
> geplukt. Die laat in een popup zien hoever de upload gevorderd is en moet
> dus ook v??rdat de file binnen is al alle info hebben. Dit ding was in
> Perl/PHP geschreven. Met wat spitwerk is die wellicht om te bouwen.
>
> Het ding staat hier:
> http://sourceforge.net/projects/megaupload/
Nee dat gaat niet werken in PHP, tenzij je de source erbij haalt en
daarin gaat hakken. Ik heb net even naar de servlet implementatie van
megaupload gekeken en het verschil tussen de servlet en PHP is bv het
volgende:
php4-4.3.9/sapi/cgi/cgi_main.c:
/*
we never take stdin if we're (f)cgi, always
rely on the web server giving us the info
we need in the environment.
*/
De te hacken file is (waarschijnlijk): php4-4.3.9/main/rfc1867.c
--
Daniel Tryba
-
Re: Bestandsgrootte
On Thu, 4 Nov 2004 10:47:17 +0100, "Nico Schuyt" <nschuyt@hotmail.com> wrote:
>Ik probeer te voorkomen dat iemand grote manuals (1-4MB) upload die al op de
>server staan door de naam en grootte te vergelijken.
>De grootte van het bestand op de server is eenvoudig te verkrijgen met
>file_size()
>Probleem is om de grootte van het remote file te vinden zonder het eerst te
>uploaden met <input type="file" ..>
>Is daar een oplossing voor?
Als het $39 mag kosten
http://www.scriptscenter.com/ezupload/
Gratis
http://www.tailoredweb.com/downloads.php
http://www.diction.net/download/
mvg
--
posted by:
news.kools-online.com
http://www.kools-online.com
-
Re: Bestandsgrootte
johnny_bravo <johnny_bravo@kools-online.com.invalid> wrote:
>>Probleem is om de grootte van het remote file te vinden zonder het eerst te
>>uploaden met <input type="file" ..>
>>Is daar een oplossing voor?
>
> Als het $39 mag kosten
> http://www.scriptscenter.com/ezupload/
Demo offline.
> Gratis
> http://www.tailoredweb.com/downloads.php
Voldoet niet aan de specs van de OP, is een klein beetje uitgebreide
versie van het upload voorbeeld uit de php manual.
> http://www.diction.net/download/
Idem (upload2.zip), met extra minpunten:
-copy ipv move_uploaded_file
-afhankelijk van register globals
--
Daniel Tryba
-
Re: Bestandsgrootte
On Fri, 05 Nov 2004 02:37:25 +0100, Michiel de Roo
<yourlove@welovespam.nl> wrote:
>RvB wrote:
>> On Thu, 4 Nov 2004 10:47:17 +0100, "Nico Schuyt" <nschuyt@hotmail.com>
>> wrote:
>>
>>
>>>Ik probeer te voorkomen dat iemand grote manuals (1-4MB) upload die al op de
>>>server staan door de naam en grootte te vergelijken.
>>>De grootte van het bestand op de server is eenvoudig te verkrijgen met
>>>file_size()
>>>Probleem is om de grootte van het remote file te vinden zonder het eerst te
>>>uploaden met <input type="file" ..>
>>>Is daar een oplossing voor?
>>
>>
>> Je kunt een dummy upload laten uitvoeren, waarbij alleen de gewenste
>> gegevens over het bestand worden verstuurd. De gegevens op de server
>> vergelijken en vervolgens een pagina terugsturen waarin je de upload
>> laat bevestigen (en hem dan pas feitelijk uitvoert) of meedeeld dat het
>> bestand er al is.
>
>Dat zal misschien lukken voor de naam van de file, maar voor de grootte
>ervan lijkt me dat wat moeilijk. Kun je bv. met Javascript de grootte van
>een file op het filesysteem van de client achterhalen ?
Geen enkel probleem. Met dit in het client-side script:
var fso = CreateObject("Scripting.FileSystemObject");
var file = fso.GetFile("C:\pad\bestand.ext");
var size = file.size;
Zie:
http://msdn.microsoft.com/library/en...stemObject.asp
Het kan zijn dat dat hierboven
var fso = new ActiveXObject('Scripting.FileSystemObject');
moet zijn.
> Hoe wil je die dummy upload uberhaupt uitvoeren ?
Door de encoding niet op te geven in de input tag en zelfs de methode
get i.p.v. post te gebruiken.
> Javascript die submit naar een PHP
>file, eventueel in een iframe om de huidige pagina te laten staan lijkt me
>een mogelijkheid.
Het javascript haalt in de form onSubmit middels een functie de file
size op en schrijft die in een hidden input veld, zodat PHP de filesize
als input ontvangt.
--
Ronald
-
Re: Bestandsgrootte
Nico Schuyt wrote:
> Ik probeer te voorkomen dat iemand grote manuals (1-4MB) upload die
> al op de server staan door de naam en grootte te vergelijken.
> De grootte van het bestand op de server is eenvoudig te verkrijgen met
> file_size()
> Probleem is om de grootte van het remote file te vinden zonder het
> eerst te uploaden met <input type="file" ..>
> Is daar een oplossing voor?
Beste Nico
Misschien kan je iets met de oplossing die hier door Sjaaky wordt
aangedragen.
http://gathering.tweakers.net/forum/...essages/971473
Hier wordt de upload via een andere poort gedaan, die je met een eigen
script afvangt. Daarmee kom je dus meer te weten voordat de eigenlijke file
ge-upload is, maar of daar ook de filesize bijzit, zou je moeten bekijken.
groet PietHein
-
Re: Bestandsgrootte
RvB wrote:
> On Fri, 05 Nov 2004 02:37:25 +0100, Michiel de Roo
> <yourlove@welovespam.nl> wrote:
>>Dat zal misschien lukken voor de naam van de file, maar voor de grootte
>>ervan lijkt me dat wat moeilijk. Kun je bv. met Javascript de grootte van
>>een file op het filesysteem van de client achterhalen ?
>
>
> Geen enkel probleem. Met dit in het client-side script:
>
> var fso = CreateObject("Scripting.FileSystemObject");
> var file = fso.GetFile("C:\pad\bestand.ext");
> var size = file.size;
>
> Zie:
> http://msdn.microsoft.com/library/en...stemObject.asp
En werkt dus alleen in IE, mét Javascript aan en ActiveX ook. Niet bepaald
een aan te bevelen plan van aanpak in deze tijden.
-
Re: Bestandsgrootte
Daniel Tryba wrote:
> Michiel de Roo <yourlove@welovespam.nl> wrote:
>
>>>Nee, PHP (daar gaat het toch om?) is pas aan de orde op het moment dat
>>>de file al binnen is.
>>
>>Klopt. Maar ik heb wel eens een perl/php upload progress bar van het net
>>geplukt. Die laat in een popup zien hoever de upload gevorderd is en moet
>>dus ook v??rdat de file binnen is al alle info hebben. Dit ding was in
>>Perl/PHP geschreven. Met wat spitwerk is die wellicht om te bouwen.
>>
>>Het ding staat hier:
>>http://sourceforge.net/projects/megaupload/
>
>
> Nee dat gaat niet werken in PHP, tenzij je de source erbij haalt en
> daarin gaat hakken. Ik heb net even naar de servlet implementatie van
> megaupload gekeken en het verschil tussen de servlet en PHP is bv het
> volgende:
> php4-4.3.9/sapi/cgi/cgi_main.c:
> /*
> we never take stdin if we're (f)cgi, always
> rely on the web server giving us the info
> we need in the environment.
> */
>
> De te hacken file is (waarschijnlijk): php4-4.3.9/main/rfc1867.c
>
Ik doelde meer op een combinatie van Perl/PHP, waarin het wellicht wél te
implementeren is. In PHP alleen gaat het idd. niet zomaar lukken.
-
Re: Bestandsgrootte
On Sat, 06 Nov 2004 13:50:35 +0100, Michiel de Roo
<yourlove@welovespam.nl> wrote:
>RvB wrote:
>> On Fri, 05 Nov 2004 02:37:25 +0100, Michiel de Roo
>> <yourlove@welovespam.nl> wrote:
>>>Dat zal misschien lukken voor de naam van de file, maar voor de grootte
>>>ervan lijkt me dat wat moeilijk. Kun je bv. met Javascript de grootte van
>>>een file op het filesysteem van de client achterhalen ?
>>
>>
>> Geen enkel probleem. Met dit in het client-side script:
>>
>> var fso = CreateObject("Scripting.FileSystemObject");
>> var file = fso.GetFile("C:\pad\bestand.ext");
>> var size = file.size;
>>
>> Zie:
>> http://msdn.microsoft.com/library/en...stemObject.asp
>
>En werkt dus alleen in IE, mét Javascript aan en ActiveX ook. Niet bepaald
>een aan te bevelen plan van aanpak in deze tijden.
Luister, jij was degene die de file size voor upload wilde vaststellen,
niet ik.
--
Ronald
-
Re: Bestandsgrootte
RvB <not-for-mail@dev.null> wrote:
[clienstide JS]
>> Javascript die submit naar een PHP
>>file, eventueel in een iframe om de huidige pagina te laten staan lijkt me
>>een mogelijkheid.
>
> Het javascript haalt in de form onSubmit middels een functie de file
> size op en schrijft die in een hidden input veld, zodat PHP de filesize
> als input ontvangt.
Maar PHP krijgt de content-length al, en mist er maar 1 file wordt
geupload is de overhead (eventuele encoding van binary buitenbeschouwing
gelaten) van het multi-part gebeuren minimaal.
Op deze manier gaat het overigens niet werken. Je kunt wel de filesize
opsturen maar dat moet dan los van de fileupload. Maar ik laat me gaarne
overtuigen door een werkend voorbeeld :)
--
Daniel Tryba
-
Re: Bestandsgrootte
Daniel Tryba wrote:
> Maar ik laat me
> gaarne overtuigen door een werkend voorbeeld :)
"Ik ook!" (piepte de OP die op de achtergrond de discussies nauwlettend
volgt :-)
--
Nico
www.nicoschuyt.nl
-
Re: Bestandsgrootte
On Sat, 6 Nov 2004 17:30:40 +0000 (UTC), Daniel Tryba
<news_nl.internet.www.server-side@canopus.nl> wrote:
>RvB <not-for-mail@dev.null> wrote:
>[clienstide JS]
>>> Javascript die submit naar een PHP
>>>file, eventueel in een iframe om de huidige pagina te laten staan lijkt me
>>>een mogelijkheid.
>>
>> Het javascript haalt in de form onSubmit middels een functie de file
>> size op en schrijft die in een hidden input veld, zodat PHP de filesize
>> als input ontvangt.
>
>Maar PHP krijgt de content-length al,
Als je de file niet upload dan vertelt de content-length je niets over
de grootte van de file.
>en mist er maar 1 file wordt
>geupload is de overhead (eventuele encoding van binary buitenbeschouwing
>gelaten) van het multi-part gebeuren minimaal.
Wat heeft dat er mee te maken?
>Op deze manier gaat het overigens niet werken. Je kunt wel de filesize
>opsturen maar dat moet dan los van de fileupload. Maar ik laat me
>gaarne overtuigen door een werkend voorbeeld :)
Aan het werk dan, zou ik zeggen.
--
Ronald
-
Re: Bestandsgrootte
RvB wrote:
> On Sat, 06 Nov 2004 13:50:35 +0100, Michiel de Roo
> <yourlove@welovespam.nl> wrote:
>
>
>>RvB wrote:
>>
>>>On Fri, 05 Nov 2004 02:37:25 +0100, Michiel de Roo
>>><yourlove@welovespam.nl> wrote:
>>>
>>>>Dat zal misschien lukken voor de naam van de file, maar voor de grootte
>>>>ervan lijkt me dat wat moeilijk. Kun je bv. met Javascript de grootte van
>>>>een file op het filesysteem van de client achterhalen ?
>>>
>>>
>>>Geen enkel probleem. Met dit in het client-side script:
>>>
>>> var fso = CreateObject("Scripting.FileSystemObject");
>>> var file = fso.GetFile("C:\pad\bestand.ext");
>>> var size = file.size;
>>>
>>>Zie:
>>>http://msdn.microsoft.com/library/en...stemObject.asp
>>
>>En werkt dus alleen in IE, mét Javascript aan en ActiveX ook. Niet bepaald
>>een aan te bevelen plan van aanpak in deze tijden.
>
>
> Luister, jij was degene die de file size voor upload wilde vaststellen,
> niet ik.
Het was Nico :-)