En förbättrad ASP-klass, som bygger på det första uploadscriptet jag slängde upp, ligger nu under script-arkivet.
Frågor eller förslag om denna klass postas i denna tråd.
Håll till godo! :)
/override
RED. Länken var ju fel! :l Nu är den rätt iaf.
93 svar · 6 683 visningar · startad av OveRRidE
En förbättrad ASP-klass, som bygger på det första uploadscriptet jag slängde upp, ligger nu under script-arkivet.
Frågor eller förslag om denna klass postas i denna tråd.
Håll till godo! :)
/override
RED. Länken var ju fel! :l Nu är den rätt iaf.
Fint som attan :) Undrar bara hur jag får fram det riktiga filnamnet, har inget kollat igenom det riktigt till 100% än men just nu bli filnamnet MyFileName.*
Mvh
Du får sätta propertyn NewFileName till det du vill döpa din fil till, innan den laddas upp. MyFileName är standardinställning.
With objUpload
.InputFormName = "UploadFile"
.UploadPath = "myFolder/"
[b].NewFileName = "dittFilNamn"[/b]
.UploadFile
strFullPath = .UploadedFilePath
End With
Vill du ha ett slumpat namn, finns det en funktion för detta också, titta i exempelfilen bara, där är en rad som är bortkommenterad.
Jo såg det men gör "dittFilNamn" så att det riktiga filnamnet kommer?
Menar, om jag laddar upp en fil som heter "kalleanka.gif" så vill jag att den ska heta kalleanka.gif och inte MyFileName.gif.. :)
Hoppas du förstår vad jag menar!
Mvh
"dittFilNamn" är bara en variabel som innehåller värdet från "objUpload.NewFileName"
Aha! det var så han menade :e Tack!
PatrikB upd_overrupload_v1.5.zip
HeJ!
Jag provade PatrikB upd_overrupload_v1.5.zip men det funkar inte får fel
meddelande.
Microsoft VBScript runtime (0x800A004C)
Path not found
/upp/upload/classes/clsupload.asp, line 261
Och clsupload.asp line 261 är:
Set objFile = objFSO.CreateTextFile(sFilePath, bOverwrite)
/ Ivar
Hur ser sökvägen ut som du skickar in som argument?
skriv ut den före INNAN du anropar metoden SaveToFile
Har precis laddat upp en ny variant med en liten bugg-fix.
Det visade sig att om man inte fyllde i alla file-fields så "flippa det ur". Kanske är det det som spökar hos dig.
Skicka gärna med lite kod så blir det också lättare att hjälpa dig.
Ny variant finns att hämta här (version 1.5.1): http://www.webforum.nu/showthread.php?s=&threadid=83458&forumid=148
Laddade precis upp den och hoppas att den snart blir godkännd av voigtann1
cya,
/PatrikB
Hej PatrikB !
Jag fick det att fungera men då var jag tvungen att ändra <!--#INCLUDE VIRTUAL="clsupload.asp"--> till <!--#INCLUDE file="clsupload.asp"-->
Alltså jag plockade bort filen clsupload.asp från mappen classes
/ ivar
fast jag tycker nog att man ska samla alla sina class-filer på ett och samma ställe, tex i mappen classes.
inkluden ska sedan se ut så här:
<!--#INCLUDE VIRTUAL="[b]/[/b]classes/clsUpload.asp"-->
cya,
/PatrikB
Tack PatrikB det funkar bra men om man ska spara uppladdade filer i databasen var ska jag lägga till koden?
/ Ivar
Nackdelen med att inkludera med Virtual är väl onekligen att den utgår från roten!?!
Ivar:
Vilken kod? Vad ska du spara i databasen?
Solbulle:
Nackdel? Varför är det en nackdel med virtual?
Själv ser jag bara det som en fördel. Skulle man behöva "strukturera" om en site så slipper du gå och ändra i en massa filer där include file används. Ett annat sätt är att du slipper "hålla reda på" hur många steg upp i hierarkin du behöver gå. Från root vet man ju vart allt ligger
Just my €0.02
cya,
/PatrikB
PatrikB:
Ja jag vill spara länken till uppladdade filer i databasen har försökt med den här koden men funkar ej.
set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/annonser.mdb") & ";pwd=;"
Set RecSet= Server.CreateObject("ADODB.Recordset")
SQL= "INSERT INTO items (item,fileName,filename1) VALUES('" & strName & "','" & thefile& "','"&anotherFile&"')"
connect.Execute(SQL)
connect.close
Set RecSet= Nothing
/ Ivar
PatrikB:
Hm... jag kanske tänker fel, men i detta läge så måste man ju in och ändra i koden för att det ska passa på sin egen site.
Jag skulle tro att om man använder sig av include file så fungerar det direkt.
Själv tycker jag nog att filer i en site som hör ihop tight lika gärna kan använda include file eftersom deras relation till varandra inte är ämnade att ändras.
Det finns väl iofs då också många tillfällen man måste in och ändra på include virtual om man strukturerar om en site?
Det är ju inte alltid säkert att man kan lägga grejerna på "samma nivå"?
set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/annonser.mdb") & ";pwd=;"
SQL= "INSERT INTO items (item,fileName,filename1) VALUES('" & strName & "','" & objFile.Filename & "','"&objFile2.Filename&"')"
connect.Execute(SQL)
connect.close
Förutsatt att du har som i exempelkoden:
strName = objUpload.Form("txtName")
Hur gör jag om jag vill bli skickad till
default.asp?c=grey&hp=admin2&act=2&admin=S_ADD
efter uppladdningen?
Har försökt att lägga det efter include virtual, men utan resultat.
Använder den senaste uppladdningsskriptet (2 filer på samma gång)
MVH
Wickmark
solbulle skrev:
PatrikB:
Hm... jag kanske tänker fel, men i detta läge så måste man ju in och ändra i koden för att det ska passa på sin egen site.Jag skulle tro att om man använder sig av include file så fungerar det direkt.
Nej, du behöver väl inte gå in och ändra i koden förutsatt att man lägger sina class-filer i katalogen classes som ska ligga direkt i rooten.
solbulle skrev:
Själv tycker jag nog att filer i en site som hör ihop tight lika gärna kan använda include file eftersom deras relation till varandra inte är ämnade att ändras.
Well, klass-filer SKA INTE vara tight till just en applikation därav användingen av include virtual.
Det är ju meningen att jag ska kunna ha tex ett forum som man ska kunna ladda upp filer i, en webshop att ladda upp filer i osv.
Inte vill jag då ha denna klass-fil liggandes på flera olika ställen i min site. Nä, jag vill endast ha den på ett ställe för att om jag vill lägga till funktionalitet, bugg-fixa etc så ska jag endast behöva hålla koll på en endaste liten fil istället för n-antal filer.
solbulle skrev:
Det finns väl iofs då också många tillfällen man måste in och ändra på include virtual om man strukturerar om en site?
Det är ju inte alltid säkert att man kan lägga grejerna på "samma nivå"?
Nej, inte i detta fallet då detta är en generell klass-fil som kan återanvändas i många olika applikationer och således endast ska ligga på ett enda ställe och länkningen i de applikationer som använder den sker med include virtual eftersom man inte vill hålla reda på hur relationen mellan dem strukturmässigt är.
cya,
/PatrikB
Wickmark skrev:
Hur gör jag om jag vill bli skickad till
default.asp?c=grey&hp=admin2&act=2&admin=S_ADD
efter uppladdningen?Har försökt att lägga det efter include virtual, men utan resultat.
Använder den senaste uppladdningsskriptet (2 filer på samma gång)
MVH
Wickmark
Du får köra en
Response.Redirect("default.asp?c=grey&hp=admin2&act=2&admin=S_ADD")
efter det du vill att den ska skicka tillbaka.
cya,
/PatrikB