Avatar billede thomas_regin Nybegynder
18. december 2000 - 00:50 Der er 24 kommentarer og
2 løsninger

ASPupload og check size problem..

Hejsa alle!

Jeg har et problem med ASPUpload komponenten fra Persists. Den sparker naturligvis R**, men har alligevel nogle irriterende \'skønhedsfejl\', som jeg lurer på, om man kan komme forbi!...

Mit problem er som følger:

Mine brugere skal kunne uploade en zip-fil. Det er heller ikke noget problem. Alt virker som det skal - den checker fil-navnet og vender tilbage med en fejlbesked, hvis det ikke er en zip-fil. Mit problem er størrelsen. Hvis mine brugere skulle finde på at sende en TOM fil, så kan jeg simpelthen ikke få den til at stoppe.

Mit loop ser sådan ud:

For Each File in Upload.Files
        If NOT File.Size <> \"\" then
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><b>Uploading an empty sample isn\'t gonna make you a star!!.. <br><br></b>\"
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><a ID=SORT12 href=java script:history.back();>Back</a>\"
        Response.End
        End If
           
        If NOT Right(File.ExtractFileName,4) = \".zip\" then
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><b>Hey!.. \" & File.ExtractFileName & \"(\" & Right(File.ExtractFileName,4) & \"-file) is not a zip-file!!<br><br></b>\"
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><a ID=SORT12 href=java script:history.back();>Back</a>\"
        Response.End
        Else
        rs.AddNew
        rs(\"File_Content\").Value = File.Binary
        rs(\"File_Name\").Value = File.ExtractFileName \'get file name
        rs(\"Your_Name\").Value = Request.Cookies(\"Login\")(\"REALNAME\")
        rs(\"Your_Email\").Value = Request.Cookies(\"Login\")(\"Email\")
        rs(\"File_Size\").Value = File.Size
        rs.Update
        End If
               
    Next

Jeg kan KUN få den til at checke på filstørrelsen, hvis der bliver uploadet en fil og ikke hvis man sender en tom form afsted.

Hvis én eller anden kender svaret på dette, så er der 60 rare point lige ned i foret!..

På forhånd tak,

Thomas Regin.
Avatar billede tdaugaard Nybegynder
18. december 2000 - 00:56 #1
Dvs. en fil på nul (0) bytes ?

If NOT File.Size = 0 then
Avatar billede tdaugaard Nybegynder
18. december 2000 - 00:56 #2
det burde virke..

nej nej ..

If File.Size = 0 then
og så skal du vel have en Exit Do ?
Avatar billede tdaugaard Nybegynder
18. december 2000 - 00:57 #3
If NOT File.Size <> \"\" then  er lidt overkill

If NOT File.Size = \"\" then kan man sige eller
If File.Size <> \"\" then
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:00 #4
Tdaugaard,

Tro mig, jeg har prøvet.. Den er fuldstændigt, bedøvende ligeglad. Den springer højt og flot hen over den klausul!..

IF File.Size = 0 then
Response.Write \"Denne fil er tom\"
Response.End
End If

Den springer ligegyldigt ned til næste IF-sætning som hedder:

If NOT right(File.ExtractFileName,4) = \".zip\" then
Response.Write \"Dette er ikke en zip-fil\"
Response.End
End If

Dette overser den dog ikke!.. Hvis ikke jeg uploader en zip-fil, SÅ melder den fejl!..

Det er mystisk, ikke!?

På forhånd tak,

Thomas.
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:02 #5
Jeg skal måske lige sige, at det samme gør sig gældende, hvis jeg prøver at checke på File.ExtractFileName:

IF File.ExtractFileName = \"\" then
Response.Write \"Denne fil er tom\"
Response.End
End If

Den springer over, uanset hvad!

Thomas.
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:03 #6
Er det hvis man ikke vælger en fil den fucker ?
Hvad med:

If mySmartUpload.Files.Count > 0 then
For Each File in Upload.Files
        If NOT File.Size <> \"\" then
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><b>Uploading an empty sample isn\'t gonna make you a star!!.. <br><br></b>\"
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><a ID=SORT12 href=java script:history.back();>Back</a>\"
        Response.End
        End If
           
        If NOT Right(File.ExtractFileName,4) = \".zip\" then
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><b>Hey!.. \" & File.ExtractFileName & \"(\" & Right(File.ExtractFileName,4) & \"-file) is not a zip-file!!<br><br></b>\"
        Response.Write \"<font face=verdana,helvetica,arial size=-2><center><a ID=SORT12 href=java script:history.back();>Back</a>\"
        Response.End
        Else
        rs.AddNew
        rs(\"File_Content\").Value = File.Binary
        rs(\"File_Name\").Value = File.ExtractFileName \'get file name
        rs(\"Your_Name\").Value = Request.Cookies(\"Login\")(\"REALNAME\")
        rs(\"Your_Email\").Value = Request.Cookies(\"Login\")(\"Email\")
        rs(\"File_Size\").Value = File.Size
        rs.Update
        End If
               
    Next
End if
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:09 #7
Ja, det er hvis man ikke uploader en fil, at den fucker!.. Hvis man bare trykker \'Send\' uden at vælge en fil!.. Så fortsætter den bare, som om alt er i orden!..

Jeg har lige prøvet med MySmartUpload.files.count, men den vil ikke acceptere MySmartUpload.Files.. Kun Upload.Files, men det giver stadig samme resultat.. Flyver højt og flot henover alle mine klausuler og ultimatummer.. *suk*

Thomas.
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:11 #8
*LOL* .. sorry .. erstat \"mySmartUpload\" med Upload .. det er pga. mit kode her bruger mySmartUploade som refernce..
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:12 #9
Tdau,

Det har jeg prøvet, da jeg regnede med at det var sådan at det hang sammen!.. *G*..

Det hjælper dog ikke.. Samme \"fejl\".. :O(

Det MÅ(!!!!!) da kunne lade sig gøre at checke på noget så simpelt som fil-størrelsen!!!..

Thomas..
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:15 #10
Hvad så med at checke dit felt inden du bruger Upload.Upload ?

If Request(\"file1\") = \"\" Then
tomt felt
end if

og da der ikke er en fil at \"åbne\" vil du ikke kunne checke på filstørrelse.
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:18 #11
Tdau!

Det piner mig at måtte sige det, men det har jeg naturligvis osse prøvet.. Det ville være den rene lykke, hvis det kunne lade sig gøre, men de HERLIGE mennesker på persists software har naturligvis gjort det så svært for deres kunder som overhovet muligt. Man kan nemlig ikke bruge en Request-samling, når man arbejder med File.Binary.. Så får man denne sjove fejl:

Request-objekt fejl \'ASP 0208 : 80004005\'

Generisk Request-samling kan ikke bruges

/upload3/gigoff/hiddenupload2.asp, linje 21

Den generiske Request-samling kan ikke bruges, når BinaryRead er kaldt.

Muntert, ikke?.. Jeg kan ihvertfald næsten ikke holde op med at grine. :O(

Men idéen er god! *G*

Thomas.
Avatar billede lp Nybegynder
18. december 2000 - 01:19 #12
tdau -> det tror jeg ikke han kan, i det formen bliver encoded på en anden måde, det er dog et forsøg værd.....lav et JavaScript tjek på form siden....så er den i hus :-)
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:20 #13
ahh .. ja .. en form validator .. det er svaret!
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:20 #14
ahh .. ja .. en form validator .. det er svaret!
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:22 #15
Jeps!.. Har netop tænkt samme tanke!!..

<script language=\"JavaScript\">
function validate(name)
{
if(document.upload_form.file1.value == \"\")
{
alert(\'Fill out the form!!!!!!!!!\')
return false;
}
else return true;
}
</script>

Tak for hjælpen gutter!..

Det er naturligvis svaret..
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:23 #16
<script language=\"JavaScript\">
  function validate(name) {
    if(document.upload_form.file1.value == \"\") {
      alert(\'Fill out the form!!!!!!!!!\')
      return false;
    }

    return true;
</script>

er faktisk alt ..
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:27 #17
Hvordan skal jeg fordele pointene?.. Skal jeg gi\' dem til lp, som jo var den første der kom med den egentlige løsning, eller skal jeg dele dem mellem jer?..

Thomas.
Avatar billede lp Nybegynder
18. december 2000 - 01:27 #18
tjahhh.........JavaScript er godt på de rigtige steder :-)
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:28 #19
Hov.. Tak for hjælpen forresten!!.. Helt fantastisk taknemmelig!!.. :)

Takker takker takker!.

Thomas.
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:28 #20
thomas_regin:> *G* jeg havde ikke engang set LP havde svaret .. ja, ja giv dem til lp .. han hjalp jo til løsningen..
Avatar billede lp Nybegynder
18. december 2000 - 01:29 #21
nahh, nu var jeg jo ikke vildt meget med, tdau skal da have noget for hans tid :-)
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:30 #22
Okay!.. Så giver jeg den til LP!.. Sorry Tdau, men okay.. Du har jo en mindre formue, så du har sikkert ikke brug for 60 kedelige points!.. *G*

Tak for hjælpen begge to!!..

Thomas.
Avatar billede thomas_regin Nybegynder
18. december 2000 - 01:31 #23
Okay!.. Så deler jeg dem mellem jer, okay!?

*GG*

Thomas.
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:32 #24
thomas.r.:> i forhold til erikjakobsen er den en \"mindre formue\" men tjoo ..  60 point .. det er da også lidt .. men ikke noget der får mig op på #7 :-)
Avatar billede tdaugaard Nybegynder
18. december 2000 - 01:32 #25
okai .. hvis det er ok med LP.
Avatar billede lp Nybegynder
18. december 2000 - 01:34 #26
:-)
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