Avatar billede n!nja Nybegynder
27. maj 2002 - 21:23 Der er 31 kommentarer og
1 løsning

Upload...

Hej Eksperter!

Jeg sidder og leger med noget upload. nedenfor kan i se hvordan det er bygget op indtil videre.

Det jeg gerne vil have hjælp til er, at lægge filnavnet på den fil jeg netop har uploadet i en session, så jeg kan trække den med over på næste side, hvor jeg vil gemme filnavnet sammen med en række andre data, fra nogle forrige sider i min db.
----------------------------
Side 1
----------------------------
<form method="POST" enctype="multipart/form-data" action="Upload_billede.asp">
  <table border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
      <td align="center">
        <input type=FILE size=50 name="FILE1" class="text_felt">
        <br>
        <br>
      </td>
  </tr>
  <tr>
    <td>
        <input type=SUBMIT value="Upload" class="knap" name="SUBMIT">
      </td>
  </tr>
</table>
  <br>
  <br>
  <br>
</form>
----------------------------
Side 2
----------------------------
<body>

<%

' Sætter upload-object
Set Upload = Server.CreateObject("Persits.Upload.1")

'Sikrer at filer ikke kan overskrives
Upload.OverwriteFiles = False

'Dif. af max størrelse
Upload.SetMaxSize 5000, False

Count = Upload.Save("D:\billeder")

%>

</body>
Avatar billede tmceu Praktikant
27. maj 2002 - 21:42 #1
Du kan få fat på filnavnet via Files collection'en. Jeg bruger flg. stump kode til noget lignende, hvor jeg gemmer filnavnet på den første fil og sletter evt. øvrige filer.

i = 1

For Each File in Upload.Files
    If i = 1 Then
        ' Første fil gemmes i databasen
        Session("FileName") = File.FileName
    Else
        ' Slet alle øvrige filer
        Upload.DeleteFile Server.MapPath(strVirtualPath) & "\" & File.FileName
    End If
    i = i + 1
Next
Avatar billede n!nja Nybegynder
27. maj 2002 - 21:55 #2
Kan du fortælle mig hvordan jeg helt præcist i mit tilfælde får lagt filnavnet i en session?
Avatar billede tmceu Praktikant
27. maj 2002 - 21:59 #3
Jeg ville gøre sådan her:

<%

' Sætter upload-object
Set Upload = Server.CreateObject("Persits.Upload.1")

'Sikrer at filer ikke kan overskrives
Upload.OverwriteFiles = False

'Dif. af max størrelse
Upload.SetMaxSize 5000, False

Count = Upload.Save("D:\billeder")

i = 1

For Each File in Upload.Files
    If i = 1 Then
        ' Første fil gemmes i sessionsvariabel
        Session("FileName") = File.FileName
    End If
    i = i + 1
Next

%>


Man skulle også kunne tilgå navnet direkte via Upload.Files(1).FileName - men den fejler konstant hos mig.
Avatar billede n!nja Nybegynder
27. maj 2002 - 22:15 #4
Det virker desværre ikke...
Avatar billede tmceu Praktikant
27. maj 2002 - 22:19 #5
Kunne du specificere lidt nærmere hvad der ikke virker, får du en fejl eller ?
Avatar billede n!nja Nybegynder
27. maj 2002 - 22:22 #6
"Siden kan ikke vises - Der er problemer med den side, du prøver at åbne, og den kan ikke vises"...
Avatar billede tmceu Praktikant
27. maj 2002 - 22:26 #7
Der bør stå en mere detaljeret fejlbeskrivelse længere nede på siden, som regel med linienr. i koden.

Prøv evt. at gå ind i Tools -> Internet Options -> Advanced -> og fjern flueben i "Show Friendly HTTP Error Messages" (for IE)
Avatar billede n!nja Nybegynder
27. maj 2002 - 22:30 #8
Persits.Upload.1 error '800a0003'

Nothing has been posted.

/test/Upload_billede.asp, line 21
Avatar billede tmceu Praktikant
27. maj 2002 - 22:30 #9
På dansk er det vist noget med Internet Indstillinger -> Avanceret -> "uskadelige meddelelser", jeg har ikke brugt danske versioner i årevis :-)
Avatar billede tmceu Praktikant
27. maj 2002 - 22:32 #10
Aha, du har altså ikke valgt en fil ellers er den blevet afvist gr. størrelse ? I sidstnævnte tilfælde, bør du have fået en anden fejl.
Avatar billede n!nja Nybegynder
27. maj 2002 - 22:34 #11
Nu få jeg denne her:
---------------------
Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'FileName'

/test/Upload_billede.asp, line 28
Avatar billede tmceu Praktikant
27. maj 2002 - 22:43 #12
Hvilken version af ASPUpload anvender du ?
Avatar billede n!nja Nybegynder
27. maj 2002 - 22:52 #13
Det ved jeg ikke - det ligger hos Jepponet, hvis det er nogen hjælp.
Avatar billede n!nja Nybegynder
28. maj 2002 - 16:55 #14
Hej igen :-)

Har netop fået oplyst at der ligger ASPUpload 2.1 på den server mit domæne ligger på.
Avatar billede tmceu Praktikant
28. maj 2002 - 16:57 #15
Kigger lige på syntaksen for den version...
Avatar billede n!nja Nybegynder
28. maj 2002 - 19:58 #16
Jeg kan nu få hele stien ved at gøre således:
---------------------------------------------
session("billede") = Upload.Files(1).Path
---------------------------------------------
Men jeg kan ikke få vist billedet ved at udskrive stien fra min db...
Avatar billede n!nja Nybegynder
28. maj 2002 - 19:59 #17
Man må kunne "trimme" stien så jeg ender op med kun at have filnavnet tilbage...
Avatar billede tmceu Praktikant
28. maj 2002 - 20:11 #18
Giv lige et eksempel på hele stien
Avatar billede n!nja Nybegynder
28. maj 2002 - 20:20 #19
D:\testtest\tests\testtesttest\testtesttest\www\testtesttesttestt\pix\006.jpg
Avatar billede n!nja Nybegynder
28. maj 2002 - 20:24 #20
det er den samme sti hver gang, så man må kunne fjerne x-antal tegn frem til filnavnet. Det vil jo være det samme antal tegn hver gang, når de uploades til samme mappe...
Avatar billede tmceu Praktikant
28. maj 2002 - 20:29 #21
Ja, det kan du også eks.

strTemp = "D:\testtest\tests\testtesttest\testtesttest\www\testtesttesttestt\pix\006.jpg"
Response.Write  mid(strTemp, 71, len(strTemp)-71)

Jeg tror desværre ikke der findes en .FileName på 2.1 - det må være en ny ting i 3.0
Avatar billede tmceu Praktikant
28. maj 2002 - 20:31 #22
I en forkortet udgave, noget med

Response.Write mid(Upload.Files(1).Path, 71, len(Upload.Files(1).Path)-71)
Avatar billede n!nja Nybegynder
28. maj 2002 - 20:39 #23
Nu er det tæt på den er der... hvis jeg uploader en fil som hedder test.jpg - så udskriver den kun test.jp

det vil sige den tager ikke det sidste "g" med...
Avatar billede tmceu Praktikant
28. maj 2002 - 20:43 #24
Så ændrer du bare den sidste til 70. Det var måske en ide at ligge disse værdier i et par variabler i toppen af din kode :-)

Response.Write mid(Upload.Files(1).Path, 71, len(Upload.Files(1).Path)-70)
Avatar billede n!nja Nybegynder
28. maj 2002 - 20:51 #25
Så kører det bare!

Du skal have mange tak for din tålmodighed :-)

Tusind tak for hjælpen - N!NJA
Avatar billede tmceu Praktikant
28. maj 2002 - 20:53 #26
Det var så lidt. Det blev en lidt "rodet" løsning, men når den nu ikke understøtter de properties vi vil ha', såeh :-)
Avatar billede n!nja Nybegynder
28. maj 2002 - 20:58 #27
Ja, det må man sige...

Jeg fik at vide det var fordi min side ligger på en af Jepponet's gamle servere - som kun understøttede version 2.1 - lidt træls... deres nye servere kører med version 3.0 - lidt underligt!
Avatar billede tmceu Praktikant
28. maj 2002 - 21:03 #28
Lad os håbe at den kunde jeg lige har bedt om at oprette et webhotel hos netop Jepponet, kommer på en ny server.
Avatar billede nolle_k Nybegynder
02. august 2002 - 13:01 #29
Hvordan får jeg fat i ASPUpload???
Avatar billede jnissen Nybegynder
02. august 2002 - 13:49 #30
Nolle_k -> det gør du på http://www.aspupload.com/
Avatar billede nolle_k Nybegynder
02. august 2002 - 13:51 #31
Takker! Men det koster jo penge! Skod!
Avatar billede jnissen Nybegynder
02. august 2002 - 14:03 #32
Så kan du bruge aspSmartUpload som du kan finde på http://www.aspsmart.com/ - det koster vidst ikke noget
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