Avatar billede aerobee Nybegynder
27. september 2005 - 07:47 Der er 19 kommentarer og
2 løsninger

ASPUpload rename file og gem

Hejsa..

Jeg er ikke så meget inde i ASPUpload...
Det jeg mangler er en der kan vise mig hvordan jeg uploader en fil med ASPUpload og omdøber den samt gemmer den i en relevant mappe.

Et lille eksempel.
Aerobee (det er mig) logger ind på et website, jeg får mulighed for at uploade et billede (det gør jeg så) billedet hedder originalt x2.jpg, men når det bliver gemt på serveren kommmer det til at hedde f.eks 1.aerobee.jpg og bliver gemt i images mappen.

MEN: Det SKAL være dynamisk, dvs, hvis det nu ikke er aerobee der uploader men istedet softspot så skal filen hedde 1.softspot.jpg Jeg havede tænkt noget i stil med file.save("../images/profile/nummer.<%=rs("brugernavn")%>.jpg") eller hvilken fil endelse den nu har. Der skal være mulighed for at uploaded de mest benyttede billede typer.

Ydermere, hvis nu brugeren uploader mere end 1 billede, så skal der tjekkes for om billedet allerede eksisterer, hvis det gør det, så skal det nye billede blot hedde f.eks. 2.aerobee.jpg osv osv osv.
Ingen billeder må slettes eller overskrives medmindre man beder om det.

Mere info? Let me know...

Aerobee
Avatar billede aerobee Nybegynder
27. september 2005 - 07:54 #1
Ydermere, der er nogle dele af ASPUpload som jeg IKKE kan benytte, så det skal naturligvis laves uden brug af dem :)

UploadManager.Save
UploadManager.LogonUser
UploadManager.RevertToSelf
UploadedFile.AllowAccess
UploadedFile.DenyAccess
UploadedFile.RevokeDenial
UploadedFile.RevokeAllowance
UploadedFile.SetOwner
UploadManager.FileCopy
UploadedFile.Copy
UploadManager.RegisterServer
UploadManager.RemoveDirectory
UploadManager.DeleteFile
UploadManager.SendBinary
UploadManager.Directory

Aerobee
Avatar billede aerobee Nybegynder
27. september 2005 - 08:11 #2
Ja, hvis jeg nu kunne huske at fortælle det hele lol :)
Filen der bliver uploaded må ikke overskride 500kb i størrelse.
Avatar billede fennec Nybegynder
27. september 2005 - 09:02 #3
Til det skal du have fat i FSO (File System Object). Ved at bruge FileExists kan du undersøge hvorlangt du er kommet i nummereringen for den enkelte bruger. Desuden vil jeg KRAFTIGT fraråde at du bruger . i filnavnet. Brug _ istedet.

counter = 1
filepath = server.mapPath("../images/profile")
userName = "Aerobee"
Set fso = CreateObject("Scripting.FileSystemObject")
while fso.FileExists(filePath &"/"& counter &"_"& userName &".jpg") OR fso.FileExists(filePath &"/"& counter &"_"& userName &".gif")
  counter = counter + 1
wend

Set Upload = Server.CreateObject("Persits.Upload")
Upload.SetMaxSize 500000, True
Upload.Save
For Each File in Upload.Files
  File.SaveAs filepath &"/"& counter &"_"& userName &"."& File.Ext
  counter = counter + 1
Next

Ps. Dette script er ikke testet.
Avatar billede aerobee Nybegynder
27. september 2005 - 11:00 #4
Hej fennec..
Jeg kigger lige på det og vender tilbage senere :)
Avatar billede aerobee Nybegynder
27. september 2005 - 16:28 #5
Ja så sidder jeg endelig med det..
Hvordan kobler jeg så formen på? Der hvor brugeren trykker gennemse og finder stien til billedet. Hvad skal formen hedde sådan at scriptet opfanger værdien??
Avatar billede fennec Nybegynder
27. september 2005 - 16:41 #6
<form action="gemBilled.asp" name="myForm" method="post" enctype="multipart/form-data">
<input type="File" name="fil">
<input type="Submit" value="Gem billed">
</form>
Avatar billede aerobee Nybegynder
27. september 2005 - 16:53 #7
Hmm, jeg uploader og uploader og uploader, den tænker og tænker og ser endelig ud til den har uploaded billedet.. Problemet er bare der ikke ligger noget billede på serveren?
Avatar billede fennec Nybegynder
27. september 2005 - 17:04 #8
Så starter vi med at få upload til at virke (uden tingeltangel)

[file.asp]
<HTML>
<BODY>
  <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="Upload.asp">
      <INPUT TYPE="FILE" NAME="FILE1"><BR>
      <INPUT TYPE="submit" VALUE="Gem">
  </FORM>
</BODY>
</HTML>

[Upload.asp]
<HTML>
<BODY>
<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.Save(server.mapPath("../images/profile"))
Response.Write "filen er uploadet til: "& server.mapPath("../images/profile")
%>
</BODY>
</HTML>

Dette skulle gerne uploade en fil til profile mappen.
Kræver selvfølgelig at der også er skrive adgang til mappen, men er der ikke det, kommer der en "access denied" fejl.
Avatar billede aerobee Nybegynder
27. september 2005 - 17:10 #9
Persits.Upload.1 error '800a0005'

The system cannot find the file specified.

/ondate/members/edit.profile.asp, line 908
Avatar billede aerobee Nybegynder
27. september 2005 - 17:11 #10
linje 908:
Upload.Save(server.mapPath("../images/profile"))
Avatar billede aerobee Nybegynder
27. september 2005 - 17:12 #11
Men mon ikke jeg skal benytte mig af SaveVirtual istedet?
Kan jo som sagt ikke benytte mig af UploadManager.Save
Avatar billede softspot Forsker
27. september 2005 - 17:12 #12
Det var den der med at Save ikke måtte bruges... :)
Avatar billede softspot Forsker
27. september 2005 - 17:12 #13
OK - du var hurtigere :)
Avatar billede softspot Forsker
27. september 2005 - 17:15 #14
Som jeg læser manualen til Persits.Upload, så burde dette fungere:

counter = 1
filepath = server.mapPath("../images/profile")
userName = "Aerobee"

Set Upload = Server.CreateObject("Persits.Upload")
Upload.SetMaxSize 500000, True
For Each File in Upload.Files
  counter = 0
  do while Upload.FileExists(filePath &"/"& counter &"_"& userName &"."& File.Ext)
    counter = counter + 1
  loop
  File.SaveAs filepath &"/"& counter &"_"& userName &"."& File.Ext
Next

men det er så heller ikke sikkert... :(
Avatar billede softspot Forsker
27. september 2005 - 17:23 #15
Hvis det ikke fungerer så prøv i stedet:

counter = 1
filepath = server.mapPath("../images/profile")
userName = "Aerobee"

Set Upload = Server.CreateObject("Persits.Upload")
Upload.SetMaxSize 500000, True
Upload.SaveToMemory
For Each File in Upload.Files
  counter = 0
  do while Upload.FileExists(filePath &"/"& counter &"_"& userName &"."& File.Ext)
    counter = counter + 1
  loop
  File.SaveAs filepath &"/"& counter &"_"& userName &"."& File.Ext
Next

altså med SaveToMemory i stedet for Save som fennec foreslår...
Avatar billede aerobee Nybegynder
27. september 2005 - 17:41 #16
softspots forslag 27/09-2005 17:23:20 virker...
Dog var der ikke skriverettigheder til mappen til at starte med men det er der så nu.

Smider ikke begge et svar ?
Avatar billede aerobee Nybegynder
27. september 2005 - 17:41 #17
smid et svar begge 2 hedder det lol
Avatar billede softspot Forsker
27. september 2005 - 17:48 #18
:D
Avatar billede aerobee Nybegynder
27. september 2005 - 22:57 #19
og fennec ? smid et svar
Avatar billede fennec Nybegynder
28. september 2005 - 08:13 #20
.o) <-- One  Eyed Jack
Avatar billede softspot Forsker
28. september 2005 - 13:23 #21
Tak for point :)
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