webForumDet fria alternativet

Uploadscript utan komponent 2

93 svar · 6 683 visningar · startad av OveRRidE

OveRRidEMedlem sedan feb. 20018 509 inlägg
#1

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.

MeleaMedlem sedan juli 20032 667 inlägg
#2

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

OveRRidEMedlem sedan feb. 20018 509 inlägg
#3

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.

MeleaMedlem sedan juli 20032 667 inlägg
#4

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

StevePMedlem sedan mars 2003751 inlägg
#5

"dittFilNamn" är bara en variabel som innehåller värdet från "objUpload.NewFileName"

MeleaMedlem sedan juli 20032 667 inlägg
#6

Aha! det var så han menade :e Tack!

IvarMedlem sedan aug. 2002229 inlägg
#7

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
PatrikBMedlem sedan mars 20002 713 inlägg
#8

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

IvarMedlem sedan aug. 2002229 inlägg
#9
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
PatrikBMedlem sedan mars 20002 713 inlägg
#10

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

PatrikBMedlem sedan mars 20002 713 inlägg
#11

Du laddade väl ner uppdateringen av classen?

Om inte, gör det :e

cya,
/PatrikB

IvarMedlem sedan aug. 2002229 inlägg
#12

Tack PatrikB det funkar bra men om man ska spara uppladdade filer i databasen var ska jag lägga till koden?
/ Ivar

solbulleMedlem sedan mars 20014 998 inlägg
#13

Nackdelen med att inkludera med Virtual är väl onekligen att den utgår från roten!?!

PatrikBMedlem sedan mars 20002 713 inlägg
#14

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

IvarMedlem sedan aug. 2002229 inlägg
#15
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
solbulleMedlem sedan mars 20014 998 inlägg
#16

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å"?

solbulleMedlem sedan mars 20014 998 inlägg
#17
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")

WickmarkMedlem sedan juli 2003172 inlägg
#18

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

PatrikBMedlem sedan mars 20002 713 inlägg
#19

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

PatrikBMedlem sedan mars 20002 713 inlägg
#20

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

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb