Avatar billede Slettet bruger
04. januar 2006 - 02:03 Der er 7 kommentarer og
1 løsning

Give filen et navn

Hejsa

Jeg har nedenfor følgende script til at uploade med til DUNDAS Upload:
<%
On Error Resume Next

Server.ScriptTimeout = 300

dim objUpload    'instance of Upload component

Set objUpload = Server.CreateObject("Dundas.Upload")

objUpload.UseUniqueNames = false

objUpload.Save "D:\Website\Upload\********" 
             
              if objUpload.Files.Count = 0 then
          Response.Redirect "default.asp"
          end if


    Response.Redirect "default.asp"

set objUpload = nothing
%>
Scriptet fungerer som sådan udmærket. Men kan man ikke lave det sådan at filen får et navn som er forudbestemt?
Der er jo en funktion med DUNDAS der gør at man kan lave filen til at have et unikt navn. Kan man så ikke i stedet bare give den fil der skal uploades et bestemt navn?

- Dette ville spare mig for en masse besvær og ekstra kode...

På forhånd tak!

\Dan
Avatar billede larsny Nybegynder
04. januar 2006 - 11:55 #1
prøv:
objUpload.SaveAs "D:\Website\Upload\navn.type"
Avatar billede Slettet bruger
04. januar 2006 - 15:42 #2
Jo, men der er bare ét problem med denne metode...

Mit ovenstående upload-script kan og skal håndtere mere end ét filformat...
- Og det er jo først senere vi ved hvad extenssion-name er på filen...
Så hvordan kan man lave det sådan at jeg definerer navnet på filen, men at formatet stadig er det oprindelige?

- Sig til hvis du ikke forstår hvad jeg mener...

\Dan
Avatar billede larsny Nybegynder
04. januar 2006 - 15:50 #3
ext = LCase(objUpload.Files(0).FileExt) <- så har du "efternavnet" på filen

sæt den ind før SaveAs sådan her:

ext = LCase(objUpload.Files(0).FileExt)
objUpload.SaveAs "D:\Website\Upload\navn."&ext
Avatar billede Slettet bruger
04. januar 2006 - 17:58 #4
- UNDERLIGT... -
Nu har jeg lige prøvet med din ovenstående tilføjelse.
Sådan at scriptet nu ser sådan her ud:
<%
On Error Resume Next

Server.ScriptTimeout = 300

dim objUpload    'instance of Upload component

Set objUpload = Server.CreateObject("Dundas.Upload")

objUpload.UseUniqueNames = false

ext = LCase(objUpload.Files(0).FileExt)
objUpload.SaveAs "D:\Website\Upload\navn."&ext
             
              if objUpload.Files.Count = 0 then
          Response.Redirect "default.asp"
          end if


    Response.Redirect "default.asp"

set objUpload = nothing
%>
- Men så uploader den slet ikke filen!
Den siger bare at der ikke blev defineret nogen fil i formularen på forrige side...
Men det underlige er at hvis jeg så går tilbage til mit "gamle" script igen så kører det fint, men så kan jeg jo bare ikke selv definere filnavnet... Og så er vi jo lige vidt...

- Hvad er det jeg gør galt?

\Dan
Avatar billede larsny Nybegynder
04. januar 2006 - 21:42 #5
hvad hvis du så sætter
objUpload.Upload ind?

altså:
objUpload.Upload

ext = LCase(objUpload.Files(0).FileExt)
objUpload.SaveAs "D:\Website\Upload\navn."&ext

hjælper det?
Avatar billede Slettet bruger
04. januar 2006 - 23:00 #6
Nej det hjælper ikke. Det samme problem er der stadig så...
Avatar billede Slettet bruger
05. januar 2006 - 03:17 #7
- Er der ikke en som har et komplet upload-script (til sammenligning), hvor man selv kan definere filnavnet?
- og hvor filformatet bliver "fanget" inden selve uploaden starter?

\Dan
Avatar billede Slettet bruger
11. januar 2006 - 17:40 #8
- Jeg har hermed erfaret og læst mig til at man ikke kan angive specifik filnavn med DUNDAS upload... Derfor virker ovenstående forslag med "SaveAs" uheldigvis ikke...

Jeg løste problemet med FSO-MoveFile i stedet...

- FSO løser alt ;-)

- lukker spørgsmålet...

\Dan
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