Avatar billede Laitings Nybegynder
11. marts 2002 - 15:00 Der er 5 kommentarer og
1 løsning

sti til DB! -ikke som de andre!

Jeg har brug for lidt hjælp her da min SQL-viden ikke er fuldt udviklet endnu! Jeg er allerede på min 6 kop kaffe og anden pakke smøger på det her problem, så jeg behøver vist ikke fortælle hvor desperat jeg er!! :-)

Landet ligger således at jeg gerne vil have overført en sti på et billede til en Access database hvor tabellen hedder BilledeTabel og feltet hedder Sti.

Jeg har en form hvor en bruger kan uploade et billede.

Formen ser sådan her ud:

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="uploadscript.asp">

og feltet hvor man indtaster navnet på filen  ser således ud:

<INPUT TYPE="FILE" SIZE="40" NAME="FILE1">

Normalt ville jeg have brugt en Request.Form("FILE1"), men tilsyneladende kan det ikke lade sig gøre!? Måske fordi feltet er af typen "FILE"!? -og det SKAL det være.

Hvordan får jeg banket stien ind i databasen? ...skal også lige sige at det er et krav at jeg bruger UPDATE sql-kommandoen, da brugeren allerede har en record i billedetabellen.

**Til alle hardcore programmører** - hvis I oven i købet kan hjælpe mig med at "skære" bibliotekerne af stien så kun filnavnet er tilbage, ja så skider jeg sgu' i bukserne af ren ekstase!


Kom nu eksperter!! Lad mig nu lige se lidt scripting galore!! :-)

På forhånd 1000 tak!!

-Mescalito
Avatar billede aceofspair Nybegynder
11. marts 2002 - 15:02 #1
Tjaaa..
Det ville være godt at se den kode det tager imod filen...
Avatar billede Laitings Nybegynder
11. marts 2002 - 15:06 #2
Kommer her:


<%
Set Upload = Server.CreateObject("Persits.Upload")

' Limit file size to 50000 bytes, throw an exception if file is larger
Upload.SetMaxSize 50000, True

' Undgå samme filnavn på to billeder
Upload.OverwriteFiles = False

' Intercept all exceptions to display user-friendly error
On Error Resume Next

' Perform upload
Upload.Save "c:\Inetpub\wwwroot\roskilde\uploads"

' 8 is the number of "File too large" exception
If Err.Number = 8 Then
  Response.Write "Your file is too large. Please try again."
Else
  If Err <> 0 Then
      Response.Write "An error occurred: " & Err.Description
  Else
      Response.Write "Success!"
  End If
End If

Count = Upload.Save("c:\Inetpub\wwwroot\roskilde\uploads")
Response.Write Count & " file(s) uploaded"
%>

...og det var hvad jeg selv kunne finde frem til:

<%

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DSN=Nyt_DSN"

strSQL = "Update BilledeTabel SET Sti = '" & Request.Form("FILE1") & "' WHERE PersonID LIKE '" & Session("ID") & "'"
myConn.Execute(strSQL)
%>

hjælper det!?
Avatar billede coltau Juniormester
11. marts 2002 - 15:13 #3
Når du anvender upload-komponent kan du ikke anvende Request.Form("file1") - men skal anvende denn: Upload.Form("file1")


og for at få stien og fil-navn gemt skal du gøre sådan:

for each file in Upload ' For hver fil. Der er kun en
  strSQL = "Update BilledeTabel SET Sti = 'c:\Inetpub\wwwroot\roskilde\uploads\" & file & "' WHERE PersonID LIKE '" & Session("ID") & "'"
myConn.Execute(strSQL)
next
Avatar billede coltau Juniormester
11. marts 2002 - 15:16 #4
Sorry - sådan:

for each file in Upload.Files ' For hver fil. Der er kun en
  strSQL = "Update BilledeTabel SET Sti = 'c:\Inetpub\wwwroot\roskilde\uploads\" & file.name & "' WHERE PersonID LIKE '" & Session("ID") & "'"
  myConn.Execute(strSQL)
next
Avatar billede Laitings Nybegynder
11. marts 2002 - 15:16 #5
prøver lige...
Avatar billede Laitings Nybegynder
11. marts 2002 - 15:49 #6
Tak for hjælpen! Vil dog lige fortælle at det du havde skrevet gjorde at filnavnet kom til at hedde c:\Inetpub\wwwroot\roskilde\uploads\FILE1, men det kom jeg uden om ved at skrive file.Path i stedet, så den endelig kode kom til at hedde:

for each file in Upload.Files
  strSQL = "Update BilledeTabel SET Sti = '" & file.Path & "' WHERE PersonID LIKE '" & Session("ID") & "'"
  myConn.Execute(strSQL)
next

Tak for hjælpen!!

-M
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