Avatar billede gatez Nybegynder
30. juni 2003 - 20:58 Der er 16 kommentarer og
1 løsning

Upload billede og Filnavn til DB

Hejsa...

Jeg har et script på min server nu som uploader en fil ændre filnavnet til et tilfældigt tal og gemmer dataen i en database.
Men lige nu bruger jeg ASP Simple Upload og det skal ændre da jeg skifter server. Nu skal jeg bruge ASPUpload.

Hvordan ændre jeg min kode sådan ?

Her er den kode jeg bruger nu:
--------KODE START---------
<%
Dim upl, NewFileName, sti, index, extNavn, nytnavn
 
Set upl = Server.CreateObject("ASPSimpleUpload.Upload")

strfile1 = upl.Form("File1")
if strfile1 <> "" Then

If Len(upl.Form("File1")) > 0 Then
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
   
    sti = "/Images/Nyhed/"
    NewFileName = upl.ExtractFileName(upl.Form("File1"))
   
    index = InStrRev(NewFileName, ".")
    if index > 0 then extNavn = Mid(NewFileName,index+1)

    randomize
    nytnavn = sti & CStr(Int(rnd*9999999999)+1) & "." & extNavn
    do while fso.FileExists(Server.MapPath(nytnavn))
        randomize
        nytnavn = sti & CStr(Int(rnd*9999999999)+1) & "." & extNavn
    loop
    Set fso = nothing
    NewFileName = nytnavn

    If upl.SaveToWeb("File1", NewFileName) Then
        Response.Write("Billede blev uploadet på server")
    Else
        Response.Write("Fejl! Billedet blev ikke uploadet !!! ")
    End If
End If

else
NewFileName = ""
end if

BrugerId = upl.Form("BrugerId")
Overskrift = upl.Form("Overskrift")
Nyhed = upl.Form("Nyhed")
KortNyhed = upl.Form("KortNyhed")
Dato = upl.Form("Dato")
Billede = NewFileName
Sted = upl.Form("Sted")
Forfatter = upl.Form("Forfatter")


strINSERT = "INSERT INTO nyheder (BrugerId, Overskrift, Nyhed, KortNyhed, Dato, Billede, Sted, Forfatter) VALUES ( '"
    strINSERT = strINSERT &  BrugerId & "', '" & Overskrift & "', '" & Nyhed & "', '" & KortNyhed & "', '" & Dato & "', '" & Billede & "', '" & Sted & "', '" & Forfatter & "')"
 
    call Conn.execute(strINSERT)

Response.Redirect "adminaddnyhed.asp"
%>
------KODE SLUT---------
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:31 #1
Prøv med dette:

<%
Dim upl, NewFileName, sti, index, extNavn, nytnavn
 
Set upl = Server.CreateObject("Persits.Upload")

strfile1 = upl.Form("File1")
if strfile1 <> "" Then

If Len(upl.Form("File1")) > 0 Then
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
   
    sti = "/Images/Nyhed/"
    Set File = upl.Files("FILE1")
    extNavn = File.Ext
   
    randomize
    nytnavn = sti & CStr(Int(rnd*9999999999)+1) & "." & extNavn
    do while fso.FileExists(Server.MapPath(nytnavn))
        randomize
        nytnavn = sti & CStr(Int(rnd*9999999999)+1) & "." & extNavn
    loop
    Set fso = nothing
    NewFileName = nytnavn

    File.SaveAs (Server.MapPath(sti & NewFileName))
    Response.Write("Billede blev uploadet på server")

End If

else
NewFileName = ""
end if

BrugerId = upl.Form("BrugerId")
Overskrift = upl.Form("Overskrift")
Nyhed = upl.Form("Nyhed")
KortNyhed = upl.Form("KortNyhed")
Dato = upl.Form("Dato")
Billede = NewFileName
Sted = upl.Form("Sted")
Forfatter = upl.Form("Forfatter")


strINSERT = "INSERT INTO nyheder (BrugerId, Overskrift, Nyhed, KortNyhed, Dato, Billede, Sted, Forfatter) VALUES ( '"
    strINSERT = strINSERT &  BrugerId & "', '" & Overskrift & "', '" & Nyhed & "', '" & KortNyhed & "', '" & Dato & "', '" & Billede & "', '" & Sted & "', '" & Forfatter & "')"
 
    call Conn.execute(strINSERT)

Response.Redirect "adminaddnyhed.asp"
%>
Avatar billede gatez Nybegynder
30. juni 2003 - 22:37 #2
Nej virker desværre ikke... Den gemmer heller ikke dataen i databasen...
Avatar billede gatez Nybegynder
30. juni 2003 - 22:39 #3
Hvis du gider at lave scriptet så det virker med den nye komponent vil jeg meget gerne betale dig for det hvis du vil ?
Jeg står meget og mangler denne funktion...
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:41 #4
Ja men jeg har ikke mulighed for at test med ASPupload iøjeblikket.

Prøv at fjerne Call foran Conn.execute(strINSERT) i denne linje

call Conn.execute(strINSERT)
Avatar billede eagleeye Praktikant
30. juni 2003 - 22:50 #5
Det passer ikke hvad jeg siger. Jeg har mulighed for at teste det...
Jeg har husket forkert, det er netop ASPupload jeg har på min server.
Avatar billede gatez Nybegynder
30. juni 2003 - 22:56 #6
Det lyder jo godt :-)
Avatar billede gatez Nybegynder
30. juni 2003 - 23:03 #7
Det med "Call" kunne jeg heller ikke få til at virke...
Avatar billede eagleeye Praktikant
30. juni 2003 - 23:05 #8
Jeg prøver lige at lave koden, så det virker på min web-hotel.
Avatar billede gatez Nybegynder
30. juni 2003 - 23:24 #9
Er det en svær opgave ?
Avatar billede eagleeye Praktikant
30. juni 2003 - 23:38 #10
nej det er det ikke ... dog kan jeg ikke få DB'en til at virke men min gæste bog er også gået ned "Cannot open database ''. It may not be a database that your application recognizes, or the file may be corrupt"



denne upload del bør virke det gør den hos mig ;)
DB delen er tilfæjet et connection object hvis du ikke har det i forvejen??


<%
Dim upl, NewFileName, sti, index, extNavn, nytnavn
 
Set upl = Server.CreateObject("Persits.Upload")

upl.Save

Set File = upl.Files("FILE1")

If isNull(file)=false Then
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
   
    sti = "/Images/Nyhed/"
   
    extNavn = File.Ext
   
    randomize
    nytnavn = sti & CStr(Int(rnd*9999999999)+1) & extNavn
    do while fso.FileExists(Server.MapPath(nytnavn))
        randomize
        nytnavn = sti & CStr(Int(rnd*9999999999)+1) & extNavn
    loop
    Set fso = nothing
    NewFileName = nytnavn

    File.SaveAs (Server.MapPath(NewFileName))
 
    Response.Write("Billede blev uploadet på server")


else
NewFileName = ""
end if

BrugerId = upl.Form("BrugerId")
Overskrift = upl.Form("Overskrift")
Nyhed = upl.Form("Nyhed")
KortNyhed = upl.Form("KortNyhed")
Dato = upl.Form("Dato")
Billede = NewFileName
Sted = upl.Form("Sted")
Forfatter = upl.Form("Forfatter")


strINSERT = "INSERT INTO nyheder (BrugerId, Overskrift, Nyhed, KortNyhed, Dato, Billede, Sted, Forfatter) VALUES ( '"
strINSERT = strINSERT &  BrugerId & "', '" & Overskrift & "', '" & Nyhed & "', '" & KortNyhed & "', '" & Dato & "', '" & Billede & "', '" & Sted & "', '" & Forfatter & "')"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("test.mdb")
 
Conn.execute(strINSERT)
Conn.Close


Response.Redirect "adminaddnyhed.asp"
%>
Avatar billede gatez Nybegynder
30. juni 2003 - 23:52 #11
Takker !!!

Jeg for denne fejl:
Persits.Upload.1 error '800a001a'

Access is denied.

/AdminAddNyhed-gem2.asp, line 51

Er det min udbyder der har lavet en fejl der ?
Avatar billede eagleeye Praktikant
30. juni 2003 - 23:55 #12
Betyder som reget at man ikke har rettighed til at oprette/gemme en fil i den angive folder.
Internet Guest Account skal hvade skrive rettihed i den folder filen skal oprettes.
Avatar billede gatez Nybegynder
30. juni 2003 - 23:59 #13
Ok jeg håber det virker så må jeg kontakte min udbyder i morgen...

Er der ikke snart nemmere hvis jeg for din mail adresse så jeg kan sende mine problemmer til dig ?
Jeg vil gerne betale... Også for det du lige har lavet...
Du kan sende dit kontonummer til: gatez@bodykits.dk

10000 Takker!
Avatar billede gatez Nybegynder
01. juli 2003 - 00:13 #14
Smider du ikke et svar ?
Avatar billede eagleeye Praktikant
01. juli 2003 - 00:17 #15
Du må høre din udbyder. Typsik har man en speciel folder eksvis \db hvor man kar skrive rettighed. Den folder kan kun tilgåes via fysik sti: d:\homes\xxxx\db\

Og så er der en www folder som er web-root set fra browseren og i de folder kan man ikke oprette filer via browseren anden end man har fået det slået til i af web-hotelet. Det er normalt ikke noget problem at få dem til det.

Jeg smutter i seng nu.
Avatar billede gatez Nybegynder
01. juli 2003 - 12:22 #16
Jubii... Det virker "næsten" :-)

Mit problem er nu bare at hvis man vil tilføje en nyhed uden billede så vælger man selvfølige heller ikke noget billed, men så for man en fejl.

Jeg har prøvet at rette fejlen sådan:

if File <> "" then
else
NewFileName = ""
end if

Men det virker stadig ikke... Har du en lille idé til dette ?
Avatar billede jtc Nybegynder
01. juli 2003 - 17:23 #17
Eagleeye kan du ikke lige kigge på dette spørgsmål og hjælpe mig???????
PLEASE

http://www.eksperten.dk/spm/371376
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