I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
først af alt - hvorfor uploader du ikke filen til den rigtige mappe med det samme? Og upload-komponenter kan som regel også gemme filer med andre filnavne.
Eller vil jeg bruge move-metode og ikke movefile.
opret et filsystemobject, flyt filen og omdøb den således: <% set fso = server.createobject("scripting.filesystemobject") set fil = fso.getfile([sti - evt vha mappath]) fil.move([ny sti]) fil.name = "[nyt filnavn]" %>
Jeg uploader ikke til den rigtige mappe fordi jeg kun har skriverettihedheder til én enkelt mappe...og den ligger desværre uden for webscope (men nå sådan er det at have web-hotel).
Jeg bruger ASP Uploade vil du anbefale at bruge den til det i stedet for?
hehe...den havde jeg ikke lige luret :-) Men du har selvfølgelig ret...men jeg har lige opdaget at jeg også har skriverettigheder i mit Grafik bibliotek.
Så mangler jeg bare at omdøbe filen efter at den er uploadet. Det er meningen at hver post i min database skal have et billede tilknyttet, og det ville derfor være smart at billedet blev omdøbt til f.eks. 3.jpg for post med ID nr. 3
Mit upload script ser sådan her ud:
<% Set Upload = Server.CreateObject("Persits.Upload.1")
<% Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverWritefiles = True Upload.SetMaxSize 100000, True Count = Upload.Save 'uden sti her, gemmes i hukommelse!
For Each File in Upload.Files file.saveas(Server.MapPath("../Grafik/")&[filnavn]) 'gemmer fil på disk med valgt navn Response.Write File.Name & "= " & File.Path & " (" & File.Size &")<BR><br>" Next %>
set fso = CreateObject("Scripting.FileSystemObject")
For Each File in Upload.Files set f = fso.getfile(Server.MapPath("../Grafik/") & file.name) f.name = [nyt filnavn] Response.Write File.Name & "= " & File.Path & " (" & File.Size &")<BR><br>" Next
Jeg har hørt en fugl synge om at det er fordi man ikke kan bruge Server.Mappath i forbindelse FSO...så kan det ikke være fordi jeg skal angive den absolutte sti?
Nej jeg kan ikke bruge Request.Form fordi der er et eller andet med Binary et eller andet...Men jeg har fået det til at virke med en værdi jeg havde i en Session og det er også fint nok.
Jeg har gjort sådan her...så beholder den den originale extension: set f = fso.getfile(File.Path) extension = fso.Getextensionname(File.Path) f.name = Session("Virksomhed") & "." & extension
set fso = CreateObject("Scripting.FileSystemObject")
For Each File in Upload.Files set f = fso.getfile(File.Path) extension = fso.Getextensionname(File.Path) f.name = Session("Virksomhed") & "." & extension
allerførst: det er selvfølgelig mig der ikke tænkte mig om. Du skal bruge Upload.form("felt"), når du bruge aspupload ;)
Det gør den fordi filnavnet jo allerede eksisterer fra først gang du uploadede billedet. Alle billeder bliver jo navngivet det sammen indtil din session ændres.
Så du skal enten finde ud af at slette evt. eksisterende fil først, eller bruge den metode jeg tidligere har beskrevet uden om fso.
ASPUpload kan gemme filer i memory, og så kan du bruge en saveas(path) til at gemme. Den mener jeg kan sættes til at overskrive automatisk
både og. Det er når du omdøber filen det går galt. du kunne fx <% ... extension = fso.Getextensionname(File.Path) if fso.fileexists(f.parentfolder & "\" & Session("Virksomhed") & "." & extension) then fso.deletefile(f.parentfolder & "\" & Session("Virksomhed") & "." & extension) end if f.name = Session("Virksomhed") & "." & extension
set fso = CreateObject("Scripting.FileSystemObject")
For Each File in Upload.Files set f = fso.getfile(File.Path) extension = fso.Getextensionname(File.Path) if fso.fileexists(f.parentfolder & "\" & Session("Virksomhed") & "." & extension) then fso.deletefile(f.parentfolder & "\" & Session("Virksomhed") & "." & extension) end if f.name = Session("Virksomhed") & "." & extension
Jeg tror vi bør droppe at rename filen efter den er uploadet. Det er dobbelt-arbejde. Jeg har da så mange gange selv valgt filnavn vha. asp-upload. Noget i stil med (men kig evt. til rundt inde på www.aspupload.com):
<% Set Upload = Server.CreateObject("Persits.Upload.1")
Kan det være fordi jeg har en forældet komponent. For selv om jeg prøver med dette eksempel fra aspupload manualen siger den file already exists...selvom der skulle være taget højde for det i denne kode:
<HTML> <BODY> <% Set Upload = Server.CreateObject("Persits.Upload") ' we use memory uploads, so we must limit file size Upload.SetMaxSize 100000, True
' Save to memory. Path parameter is omitted Upload.Save
' Check whether a file was selected Set File = Upload.Files("FILE1") If Not File Is Nothing Then ' Obtain file name Filename = file.Filename
' check if file exists in c:\upload under this name If Upload.FileExists("c:\inetpub\www.givenet.dk\Grafik\Kunder\" & filename ) Then Response.Write "File with this name already exists." Else ' otherwise save file File.SaveAs "c:\inetpub\www.givenet.dk\Grafik\Kunder\" & File.Filename Response.Write "File saved as " & File.Path End If Else ' file not selected Response.Write "File not selected." End If %> </BODY> </HTML>
Det er sgu' desværre mig der har dummet mig og byttet om på nogle filnavne...det virker perfekt de forrige forslag du er kommet med.
Tusind tak for hjælpen!
Mvh Peter
Synes godt om
Ny brugerNybegynder
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.