01. marts 2003 - 16:10
Der er
51 kommentarer og 1 løsning
admin-opload af billeder...
Hej... Jeg kunne godt tænke mig at lave en admin-side hvor jeg kan oploade et billede og noget tekst til min hp. Jeg ved ikke hvordan man gør, men har fået at vide at det kan lade sig gøre... Det skulle gerne være sådan at man kan vælge et billede, og skriver en titel og billedetekst. billedet bliver smidt i en mappe (/www/jpg/) med et nyt navn som den får ved hjælp af: autonummerering i accessdatabase felt med "Replikerings-id" istedet for hele tal sådan at billedets navn er det samme som id'en fra databasen - bare med efternavn titel og billedetekst skal selvfølgelig ned i databasen... Er der nogen der kan hjælpe... og det skal være begynderhjælp for jeg forstår ikke meget at det jeg har læst mig til hist og pist håber i forstår hvad jeg mener...
Annonceindlæg tema
Cloud & AI
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.
01. marts 2003 - 16:47
#1
Alt efter hvilken upload komponent du har kan det gøres i stil med dette: Set upload = Sever.CreateObject("xxxx_upload") Upload.savevirtual 'Lav SQL og åben til et databasen 'Sæt WHERE ID=0 for ikke at få nogle record i recordsetet Set rs = Sever.CreateObject("ADODB.REcordSet") SQL = "SELECT * FROM tabelnavn WHERE ID=0" rs.Open SQL, Conn, 1, 3 rs.AddNew rs("titel") = Upload.Form("title") rs("billedetekst") = Upload.Form("billedetekst") rs.Update id = rs("id") Set file = Upload.Files("navnpåfilinputfelt") file.SaveAs "/jpg/" & id & "." & file.ExtractFileExtention
01. marts 2003 - 17:32
#2
Jeg havde tænkt noget i denne retning... Jeg har aeImage & ASP upload (ved ikke hvad der er hvad) Bortset fra at jeg ikke ved hvordan man laver et "fil input felt" <--- tilfoej.asp ---> <% Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM indlaeg WHERE (ID = 0)" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../log/database.mdb") rstemp.Open strSQL, strDSN, 1, 3 rs.AddNew rs("Tite") = strTitel rs("Tekst") = Replace(strTekst, vbCrLf, "<br>") rs.Update Set file = Upload.Files("filinput") file.SaveAs "/www/jpg/" & id & "." & file.ExtractFileExtention End If %> <html> <head> <title>opload</title> </head> <body> <table cellpadding=2 cellspacing=2 border=1 bordercolor=black class=format width="500"> <tr> <td width="100%" colspan="3"> <br> <form method="POST" action="tilfoej.asp"> <div align="center"> <center> <table border="0" width="75%" cellspacing="0" cellpadding="0" height="223"> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Titel:</font><br> <input type="text" name="Titel" size="28" class="box" tabindex="1" value="<%=strTitel%>"> </td> </tr> <tr> <td width="100%" height="62"><font face="Verdana" size="2">Billedtekst:</font><br> <textarea rows="8" name="Tekst" cols="45" class="scrollbarbox" tabindex="2"> <%=strTekst%></textarea> </td> </tr> --> Her skulle oploadfeltet så have været... <tr> <td width="100%" height="46"><br> <input type="submit" value=" Add Tag " name="Add" class="box" tabindex="5"> <input type="button" value=" Annuller " name="Annuller" class="box" onClick="java script:location.href='indlaeg.asp'" tabindex="6"> </td> </tr> </table> </body> </html>
01. marts 2003 - 18:01
#3
Skulle det ikke være aspImage ?? Det er en kompunent som kan rezise/ligge tekst ind på billeder mm, den er faktisk ganske god. ASPupload: Upload kompunenet.
01. marts 2003 - 18:03
#4
Dit input felt kan se såan her ud: <INPUT TYPE="FILE" SIZE="40" NAME="FILE1">
01. marts 2003 - 18:03
#5
01. marts 2003 - 18:21
#6
den aspupload-side har jeg kigget længe på... og jeg må erkende at jeg fatter brik af det... :(
01. marts 2003 - 18:53
#7
Din side tilfoej.asp skal være i stil med dette: <--- tilfoej.asp ---> <% Set Upload = Server.CreateObject("Persits.Upload.1") Upload.Save 'Save to memory Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM indlaeg WHERE (ID = 0)" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../log/database.mdb") rstemp.Open strSQL, strDSN, 1, 3 strTitel = Upload.Form("Titel") strTekst = Upload.Form("Tekst") rs.AddNew rs("Tite") = strTitel rs("Tekst") = Replace(strTekst, vbCrLf, "<br>") rs.Update Set file = Upload.Files("FILE1") file.SaveAsVirtual "/www/jpg/" & id & "." & file.Ext %>
01. marts 2003 - 18:54
#8
Form-tagen skal laves om fra: <form method="POST" action="tilfoej.asp"> Til: <form method="POST" action="tilfoej.asp" ENCTYPE="multipart/form-data">
02. marts 2003 - 00:28
#9
Jeg har ændret det du har sagt og tilpasset det men så får jeg følgende fejl: Microsoft VBScript runtime error '800a01c2' Wrong number of arguments or invalid property assignment: 'Upload.Save' /email/tilfoej.asp, line 3
02. marts 2003 - 16:14
#10
Så skal den nok være: Upload.SaveToMemory
02. marts 2003 - 17:41
#11
Jeg har sat det der Upload.SaveToMemory ind på 3. linie i stedet for Upload.Save men så får jeg denne fej: Persits.Upload.1 error '800a0003' Nothing has been posted. /email/tilfoej.asp, line 3
02. marts 2003 - 17:43
#12
Har du tilføjet dette til <form> taggen? ENCTYPE="multipart/form-data"
02. marts 2003 - 18:05
#13
jaja... min side se sådan ud: <-- tilfoej.asp --> <% Set Upload = Server.CreateObject("Persits.Upload.1") Upload.SaveToMemory 'Save to memory Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM tabel WHERE (ID = 0)" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../log/database.mdb") rstemp.Open strSQL, strDSN, 1, 3 strTitel = Upload.Form("Titel") strTekst = Upload.Form("Tekst") rs.AddNew rs("Tite") = strTitel rs("Tekst") = Replace(strTekst, vbCrLf, "<br>") rs.Update Set file = Upload.Files("FILE1") file.SaveAsVirtual "/www/jpg/" & id & "." & file.Ext %> <html> <head> <title>opload</title> </head> <body> <table cellpadding=2 cellspacing=2 border=1 bordercolor=black class=format width="500"> <tr> <td width="100%" colspan="3"> <br> <form method="POST" action="tilfoej.asp" ENCTYPE="multipart/form-data"> <div align="center"> <center> <table border="0" width="75%" cellspacing="0" cellpadding="0" height="223"> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Titel:</font><br> <input type="text" name="Titel" size="28" class="box" tabindex="1" value="<%=strTitel%>"> </td> </tr> <tr> <td width="100%" height="62"><font face="Verdana" size="2">Billedtekst:</font><br> <textarea rows="8" name="Tekst" cols="45" class="scrollbarbox" tabindex="2"> <%=strTekst%></textarea> </td> </tr> <tr> <td width="100%" height="25"><font face="Verdana" size="2">Titel:</font><br> <INPUT TYPE="FILE" SIZE="28" NAME="FILE1" tabindex="3"> <input type="text" name="File1" size="28" class="box" tabindex="1" value="<%=strFile1%>"> </td> </tr> <tr> <td width="100%" height="46"><br> <input type="submit" value=" Add Tag " name="Add" class="box" tabindex="4"> <input type="button" value=" Annuller " name="Annuller" class="box" onClick="java script:location.href='indlaeg.asp'" tabindex="5"> </td> </tr> </table> </body> </html>
02. marts 2003 - 18:40
#14
Der er to felter der hedder det samme godt nok det to forskellige typer men det plejer ikke at gå godt. De to hedder FILE1 <INPUT TYPE="FILE" SIZE="28" NAME="FILE1" tabindex="3"> <input type="text" name="File1" size="28" class="box" tabindex="1" value="<%=strFile1%>"> Dette input bruges til atvælge en fil: <INPUT TYPE="FILE" SIZE="28" NAME="FILE1" tabindex="3">
02. marts 2003 - 19:23
#15
Nu har jeg slettet: <input type="text" name="File1" size="28" class="box" tabindex="1" value="<%=strFile1%>"> men den kommer med samme fejl!
02. marts 2003 - 20:33
#18
Arh koden ligger på samme side? Så skal der lige et tjek ind om formen er blevet post'et til siden: <% if Request.ServerVariables("REQUEST_METHOD") = "POST" then Set Upload = Server.CreateObject("Persits.Upload.1") Upload.SaveToMemory 'Save to memory .. .. .. file.SaveAsVirtual "/www/jpg/" & id & "." & file.Ext end if
03. marts 2003 - 19:40
#19
ja okay... nu er den rettet til... og side loader fint... MEN jeg får denne fejl når jeg oploader billedet: ADODB.Recordset error '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. /email/tilfoej.asp, line 16
03. marts 2003 - 19:47
#20
Det betyder et kolonnenavn ikke findes i databasen, det er nok i denne linje: rs("Tite") Det skal vel være "Title" ??
03. marts 2003 - 19:48
#21
For at id får en værdi så tilføj: id = rs("id") rs("Tekst") = Replace(strTekst, vbCrLf, "<br>") rs.Update id = rs("id") '<------------------ Skal med her
03. marts 2003 - 19:52
#22
Ja så er de fejl rettet og den nye fejlmeling er: Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /email/tilfoej.asp, line 10 rs.Open strSQL, strDSN, 1, 3 <---
03. marts 2003 - 19:52
#23
øh...den nederste linie er linie 10!
03. marts 2003 - 19:57
#24
hmmm .. har du rette SQLen så den passer med tabel og autonummer kolonnenavne? strSQL = "SELECT * FROM tabel WHERE (ID = 0)"
03. marts 2003 - 20:05
#25
Er de to kolonner (Title, Tekst) ikke defineret som tekst?? Er de sat til at kunne modtage en nullængde streng?
03. marts 2003 - 20:13
#26
øhh... sig noget mere :)
03. marts 2003 - 20:20
#27
Hvad hedder den tabel i databasen du vil gemme title og tekst i?
03. marts 2003 - 20:21
#28
den hedder tabel!
03. marts 2003 - 20:29
#29
og du har en kolonne ID som er autonummer?
03. marts 2003 - 20:29
#30
ja... Replikerings-id
03. marts 2003 - 20:31
#31
De to kolonne Tekst og Title Er de sat til at må modtage en 0-længde streng. Hvis man i access trykker på kolonne så skal Tillad Nullængde streng være sat til Ja.
03. marts 2003 - 20:45
#32
ja nu er de... Men fejlmeling er: Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /email/tilfoej.asp, line 10
03. marts 2003 - 20:51
#33
Prøv at lave denne sætning om: strSQL = "SELECT * FROM tabel WHERE (ID = 0)" Til: strSQL = "SELECT * FROM tabel"
03. marts 2003 - 21:28
#34
fejlmeling: Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'file.Ext' /email/tilfoej.asp, line 22
03. marts 2003 - 21:28
#35
linie 22: file.SaveAsVirtual "/www/jpg/" & id & "." & file.Ext
03. marts 2003 - 21:50
#36
hmm så så vi prøve med: Lav denne: file.SaveAsVirtual "/www/jpg/" & id & "." & file.Ext om til. Set FSO = Server.CreateObject("Scripting.FileSystemObject") file.SaveAsVirtual "/www/jpg/" & id & "." & FSO.GetExtensionName(file.ExtractFileName)
04. marts 2003 - 16:29
#37
Jeg har gjort som du har sagt... men jeg får stadig fejlmelinger :( Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'file.SaveAsVirtual' /email/tilfoej.asp, line 23 <% if Request.ServerVariables("REQUEST_METHOD") = "POST" then Set Upload = Server.CreateObject("Persits.Upload.1") Upload.SaveToMemory 'Save to memory Set rs = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM tabel" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../log/database.mdb") rs.Open strSQL, strDSN, 1, 3 strTitel = Upload.Form("Titel") strTekst = Upload.Form("Tekst") rs.AddNew rs("Titel") = strTitel rs("Tekst") = Replace(strTekst, vbCrLf, "<br>") rs.Update id = rs("id") Set file = Upload.Files("FILE1") Set FSO = Server.CreateObject("Scripting.FileSystemObject") linie 23 --> file.SaveAsVirtual "/www/jpg/" & id & "." & FSO.GetExtensionName(file.ExtractFileName) end if %>
04. marts 2003 - 16:42
#38
Når hmm det skulle den da eller kunne, så skriv SaveAs og så med Sever.Mappathh: file.SaveAs Server.MapPath("/www/jpg/" & id & "." & FSO.GetExtensionName(file.ExtractFileName))
04. marts 2003 - 17:07
#39
Hmm endnu en fejl... Persits.Upload.1 error '800a001a' The system cannot find the path specified. /email/tilfoej.asp, line 23
04. marts 2003 - 17:09
#40
Så skal det nok være uden /www i pathen: file.SaveAs Server.MapPath("/jpg/" & id & "." & FSO.GetExtensionName(file.ExtractFileName))
04. marts 2003 - 17:26
#41
F............ fejl igen: Persits.Upload.1 error '800a001a' Access is denied. /email/tilfoej.asp, line 23 så det er vel ikke det... www skal vel være med
04. marts 2003 - 17:33
#42
Nej, det er vist mere fordi IUSR_xxx / Internet Guest Account ikke har skriverettighed til den folder du vil uploade til. Er det din egen server eller et web-hotel?
04. marts 2003 - 17:34
#43
det er et webhotel... webglobe
04. marts 2003 - 17:35
#44
Ok har du en folder hvor du normalt gemmer databaser? Så kan vi for test skrive til den da der er skrive rettighed.
04. marts 2003 - 17:37
#45
jep det har jeg :) jeg prøver lige med det samme... (den hedder "Log")
04. marts 2003 - 17:39
#46
;) det kan jeg jo også se ud fra koden Prøv at rette: file.SaveAs Server.MapPath("/jpg/" & id & "." & FSO.GetExtensionName(file.ExtractFileName)) Til: file.SaveAs Server.MapPath("../../log/" & id & "." & FSO.GetExtensionName(file.ExtractFileName))
04. marts 2003 - 17:43
#47
jop... det virkede... jeg skrev bare: file.SaveAs Server.MapPath("../../log/jpg/" & id & "." & FSO.GetExtensionName(file.ExtractFileName)) istedet :)
04. marts 2003 - 17:49
#48
Ja eller må du kontakte dit web-hotel og spørge dem om du ikke kan gå lov at uploade biller til folderen "jpg", så "jpg" foldren har skriverettigheder som for den folder du har databasen i.
04. marts 2003 - 19:28
#49
Øh... kan man ikke vise billeder der er gemt med den ID-streng {B31705EC-AF1A-4399-956B-726F1CE73828}.jpg for eksempel
04. marts 2003 - 19:37
#50
Jo det skulle du da gerne kunne..: <img src="{B31705EC-AF1A-4399-956B-726F1CE73828}.jpg"> Det kan være du skal havde en sti med hvis ASP og billede fil ikke ligger sammmen: <img src="../../{B31705EC-AF1A-4399-956B-726F1CE73828}.jpg">
04. marts 2003 - 19:59
#51
Det vil ikke lade sig gøre... men har det så noget at gøre med at den ligger i /log/jpg/ og ikke /www/jpg/? Det har det vel?!? Du får i hvert fald dine point nu...
04. marts 2003 - 20:05
#52
Arh måske det er nok ikke muligt fra HTML delen at få fat i log folderen, så skal filerne ligge i jpg under www og så kan du skriver: <img src="/jpg/{B31705EC-AF1A-4399-956B-726F1CE73828}.jpg">
Kurser inden for grundlæggende programmering