Avatar billede djjerry82 Nybegynder
04. december 2003 - 15:41 Der er 12 kommentarer og
1 løsning

Chili!Upload

Nu har jeg sat i 2 dage uden at kunne finde ud af hvordan det skidt virker.
Jeg har prøvet mange forskellige scripts og lave om i dem, men uden held :-(

Det eneste scriptet skal er at uploade en jpg/gif fil til "/images/nyheder/", og fil navnet skal være "record("id")".
Hvis billedet findes i forvejen, skal den overskrive den. Og så skal den gemme fil navnet i min mySql db...
Kompunentet er Chili!Upload.


Jeg håber at der er nogle som der kan hjælpe.
Jeg er total lost her, det med upload er et ret nyt område for mig.

På forhånd tak!
Avatar billede eagleeye Praktikant
04. december 2003 - 16:25 #1
Hvad er det for et ID du skal bruge? Hendter du noget ud fra en DB?
Avatar billede djjerry82 Nybegynder
04. december 2003 - 16:31 #2
Ja, dvs. at billed navnet kommer til at være ex. 57.jpg, med record("id").

Gav det noget mening?
Avatar billede eagleeye Praktikant
04. december 2003 - 16:49 #3
ja men høre det id sammen med noget andet eller er det et nyt id når billedet uploades?
Avatar billede djjerry82 Nybegynder
04. december 2003 - 16:54 #4
Først opretter jeg en nyhed.
Når den så er oprettet så skal man have mulighed for at tilføje et billed til nyheden.
Hvor den så henter det samme id fra db (ex. upload.asp?id=57)

Var det bedre? :-)
Avatar billede eagleeye Praktikant
04. december 2003 - 17:00 #5
Ja den skal kende ID'et for at den kan gemme filnavnet rigtigt.

Så skal du hvade overført ID på nyheden til siden som gemmer billedet sådan den har fat i det rigtige ID, man kan også vælge en SQL som hendter den største ID ud (det er dog ikke den rigtige løsning)..

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("Driver={MySql};Server=servernavn; Database=dbnavn; UID=brugernavn; PWD=password;")

nytID = Request.Querstring("id")

'Gem billedet.
<%
Set fbase = Server.CreateObject("Chili.Upload.1")
filnavn = fbase.SourceFileName
t = inStrRev(filnavn,"\")
if t > 0 then  filnavn = Mid(filnavn,t+1)
t = inStr(1,filnavn,".")
if t > 0 then ext = "." & Mid(filnavn,t+1)
filNavn = "/images/nyheder/" & nytID & ext
fbase.SaveToFile(Server.mapPath(filNavn))
Set fbase = Nothing

'Gem filnavnet i databasen:
SQL = "UPDATE tabelNavn SET billeNavn = '" & filNavn & "' WHERE id = " & nytID
%>
Avatar billede djjerry82 Nybegynder
04. december 2003 - 17:09 #6
ok... men hvordan skal den se ud med, så man kan "Gennemse" og så trykke upload?
Avatar billede eagleeye Praktikant
04. december 2003 - 17:24 #7
Der skal laves en form på den side som gemmer nyheden som man kan vælge billedet, dermed kan man trække det ID ud nyheden får og give til den side som gemmer filen.....:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("Driver={MySql};Server=servernavn; Database=dbnavn; UID=brugernavn; PWD=password;")

SQL = "INSERT INTO tabelNavn (kolonner) VALUES ('værdier')"
Conn.execute(SQL)

'Find sidste tilføjet ID
SQL = "SELECT last_insert_id() FROM tabelNavn"
Set RS = Conn.Execute(SQL)
nytID = RS(0)
RS.Close
%>
<html>
<body>
<FORM ACTION="upload.asp?id=<%=nytID%>" METHOD="POST" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1"><br>
<INPUT TYPE="SUBMIT" VALUE="Send">
</FORM>
</body>
</html>
Avatar billede djjerry82 Nybegynder
04. december 2003 - 17:45 #8
Jeg kikker lige på det når jeg har spist...
Avatar billede djjerry82 Nybegynder
04. december 2003 - 18:44 #9
Det virker :-)
Det er bare super... Smid lige et svar, så du kan få nogle point :-)
Tak for det!
Avatar billede eagleeye Praktikant
04. december 2003 - 18:45 #10
Ok ;) det lyder godt.
Avatar billede djjerry82 Nybegynder
04. december 2003 - 19:14 #11
Lige et hurtig spørgsmål... :-)
Hvad nu hvis jeg vil slette nyheden, hvordan sletter jeg så også billedet?
Avatar billede eagleeye Praktikant
04. december 2003 - 19:19 #12
Så må du hendte billedet fra databasen og slette det.

id = 23
SQL = "SELECT billeNavn FROM tabelNavn WHERE id = " & id
Set rs = Conn.Execute(SQL)
filnavn = rs("billeNavn")
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Server.Mappath(filnavn)) Then
  fso.DeleteFile Server.Mappath(filnavn)
End If
Set fso = Nothing
%>
Avatar billede djjerry82 Nybegynder
04. december 2003 - 19:21 #13
Jeg siger mange tak :-)
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