Avatar billede ejay Novice
27. maj 2002 - 13:48 Der er 15 kommentarer og
1 løsning

Aspupload

Hej

hvad er fejlen her??? det skal være persits upload.
men ved ikke helt hvordan man ændrer det hele til det.

<%
On Error Resume Next

username = Request.Cookies("username")
'  Variables
'  *********
  Dim mySmartUpload
  Dim file
  Dim oConn
  Dim oRs
  Dim intCount
  Dim ConnectString, conn
  Dim ID
  intCount=0
       
'  Object creation
'  ***************
  Set Upload = Server.CreateObject("Persits.Upload.1")
  mySmartUpload.AllowedFilesList = "jpg, gif"
  mySmartUpload.MaxFileSize = 1500000
'  Upload
'  ******
  mySmartUpload.Upload

'  Connect to the DB
'  *****************
  Set oConn = Server.CreateObject("ADODB.Connection")
  pictures = Server.MapPath("date.mdb")
  oConn.Open "DBQ="& pictures &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"


'ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("date.mdb")
'Set conn = Server.CreateObject("ADODB.Connection")

'conn.open ConnectString," & pictures & "
'DBQ="& pictures &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'  Open a recordset
'  ****************
  strSQL = "SELECT FILENAME,FILE,username,ID FROM users WHERE username = '" & username & "'"

  Set oRs = Server.CreateObject("ADODB.recordset")
  Set oRs.ActiveConnection = oConn
  oRs.Source = strSQL
  oRs.LockType = 3
  oRs.Open

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then

      '  Add the current file in a DB field
      '  **********************************
       
    oRs.Update
   
        file.FileToField oRs.Fields("FILE")
        oRs("FILENAME") = username &  file.FileName
        oRs.Update
        file.SaveAs("d:\home\lovefinddk\www\date\pictures\" &  username  & file.filename)
    intCount = intCount + 1
      End If
  Next

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.<BR>")
 
'  Destruction
'  ***********
  oRs.Close
  oConn.Close
  Set oRs = Nothing
  Set oConn = Nothing

If Err Then
      Response.Write("<b>Your Picture is of the wrong kind of type please go back and correct the problem: Only .Jpg and .Gif is allowed !If your think its webmaster´s failure then mail him att: <a href='mailto:admin@lovefind.dk?subject=LOGIN FAILURE'><h3>WEBMASTER</h3> </b><br><a href='java script:self.history.go(-1)'><b><font color='red' font size='2'>Please go back and try again</b></font>" )
else
    Response.write ("<b><font size ='2' font color='blue'>Youe have uploaded your picture with success please click below to enter your profile</b></font><br><a href=profile.asp><b><font color='red' font size='2'>Back to profile :-)</b></font>")
   
end if
   



'Response.Redirect("profile.asp?updated=true")
%>
Avatar billede webbe Nybegynder
27. maj 2002 - 14:42 #1
ASP-upload er rimelig let at gå til.

Jeg bruger selv følgende:

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "dsn_name"

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = False
sti = Server.MapPath("./../images/dvd_specs/") & "\"
Upload.Save sti

Navn = Upload.Form("navn")
Beskrivelse = Upload.Form("beskrivelse")

Set Pic = Upload.Files("pic")
    If Pic is nothing Then
        Pic1 = ""
    Else
        Pic1 = Pic.ExtractFileName
    End if

sql = "INSERT INTO Lydspec (Navn,Beskrivelse,Pic) VALUES ("&"'"&Navn&"','"&Beskrivelse&"','"&Pic1&"')"
Connect.Execute(sql)

Response.Redirect("lyd_form.asp")

Så skal du bare selv rette tabelnavne osv. til.
Avatar billede ejay Novice
27. maj 2002 - 16:03 #2
webbe/

kan jeg få dig til at skrive den så den passer med det jeg har skrevet til min db? da jeg ikke er mester i asp (skal nok smide et par extra point med)
Avatar billede webbe Nybegynder
27. maj 2002 - 18:43 #3
'  Connect to the DB
'  *****************
  Set oConn = Server.CreateObject("ADODB.Connection")
  pictures = Server.MapPath("date.mdb")
  oConn.Open "DBQ="& pictures &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'  Open a recordset
'  ****************
  strSQL = "SELECT FILENAME,FILE,username,ID FROM users WHERE username = '" & username & "'"
Set rs = oConn.Execute(strSQL)

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = False
sti = Server.MapPath("./../images/dvd_specs/") & "\"
Upload.Save sti

var1 = Upload.Form("navn")
var2 = Upload.Form("beskrivelse")

Set Pic = Upload.Files("pic")
    If Pic is nothing Then
        Pic1 = ""
    Else
        Pic1 = Pic.ExtractFileName
    End if

sql = "INSERT INTO tabel_navn (felt1,felt2,felt3) VALUES ("&"'"&var1&"','"&var2&"','"&Pic1&"')"
oConn.Execute(sql)

var1 og var2 er blot variabelnavne hvor du ligger værdien fra det indtastede ind.

Pic og Pic1 er også variabler hvor du også lige tjekker om der er valgt et billede. Hvis ikke uploades der heller ikke noget.

Hvis ikke ovenstående er godt nok, så smid lige koden til din formular og skriv hvad din database hedder og hvilken tabel og hvilke felter der skal indsættes i/opdateres.

Så skal jeg lave en kode du bare kan kopiere ind i dit ASP-dokument.
Avatar billede ejay Novice
28. maj 2002 - 08:12 #4
webbe/

<FORM METHOD="POST" ACTION="Sample.asp" ENCTYPE="multipart/form-data">
<p align="center"><font color="white"><b><INPUT TYPE="FILE" NAME="FILE1" SIZE="50">
<INPUT TYPE="SUBMIT" VALUE="Upload">

i db`en står felterne her:
file.FileToField oRs.Fields("FILE")
        oRs("FILENAME") = username &  file.FileName
        oRs.Update
        file.SaveAs("d:home\lovefinddk\www\date\pictures\" &  username  & file.filename)
    intCount = intCount + 1
      End If
Avatar billede webbe Nybegynder
28. maj 2002 - 08:53 #5
Hvis jeg har forstået dig rigtigt har du en database der hedder date.mdb hvori der er en tabel der hedder users med feltet FILENAME?

I det tilfælde skal din ASP være som følger:

'opretter forbindelse til databasen
Set Connect = Server.CreateObject("ADODB.Connection")
  pictures = Server.MapPath("date.mdb")
  Connect.Open "DBQ="& pictures &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'definerer ASPUpload
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = False
'stien til dine billeder
sti = Server.MapPath("./mappenavn") & "\"
Upload.Save sti

'denne del tjekker om der er valgt en fil og extracter filnavnet i databasen
Set Pic = Upload.Files("file1")
    If Pic is nothing Then
        Pic1 = ""
    Else
        Pic1 = Pic.ExtractFileName
    End if

'opdatering af tabellen
sql = "UPDATE users SET FILENAME='"&Pic1&"' WHERE username='"&username&"'"
Connect.Execute(sql)


Den kode du startede med at vise da du oprettede spørgsmålet er ALT for omstændig.
Den kode jeg lige har givet dig gør nøjagtigt det samme - fortsætter hvis ikke der er et billede (On error resume next).

Så se bort fra det du startede med og brug min kode istedet for.
Avatar billede ejay Novice
28. maj 2002 - 09:03 #6
webbe/
nu siger den at billedet er uploadet.

men der kommer ikke noget billede frem???????

hvis det er kan jeg så ikke sende de filer til dig så du kan se dem?
Avatar billede webbe Nybegynder
28. maj 2002 - 09:04 #7
Jo da - send dem til michaelpe@scanbox.com - så kigger jeg lige på dem.
Avatar billede ejay Novice
28. maj 2002 - 09:13 #8
er sent
Avatar billede webbe Nybegynder
28. maj 2002 - 09:16 #9
Øøøøøøhhh - hvilken fil drejer det sig om?
Avatar billede ejay Novice
28. maj 2002 - 09:22 #10
webbe/

sample.asp
Avatar billede ejay Novice
28. maj 2002 - 09:23 #11
webbe/

men jeg har kommet til at sende den gamle.

men det er den der skal laves om
Avatar billede webbe Nybegynder
28. maj 2002 - 09:37 #12
Okay - har rettet den, men din formular skal også lige ændres da du mangler at parse informationen om hvilken user der er tale om videre!

Så brug følgende form:

<FORM METHOD="POST" ACTION="Sample.asp" ENCTYPE="multipart/form-data">
<INPUT TYPE="HIDDEN" NAME="user" value="<%=rs("username")%>">
<p align="center"><font color="white"><b><INPUT TYPE="FILE" NAME="FILE1" SIZE="50">
<INPUT TYPE="SUBMIT" VALUE="Upload">
Avatar billede ejay Novice
28. maj 2002 - 10:01 #13
webbe/


nu får jeg denne fejl efter jeg har sat den form ind

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'rs'

/profile.asp, line 80
Avatar billede webbe Nybegynder
28. maj 2002 - 10:02 #14
<FORM METHOD="POST" ACTION="Sample.asp" ENCTYPE="multipart/form-data">
<INPUT TYPE="HIDDEN" NAME="user" value="<%=username%>">
<p align="center"><font color="white"><b><INPUT TYPE="FILE" NAME="FILE1" SIZE="50">
<INPUT TYPE="SUBMIT" VALUE="Upload">

username kommer her fra din request.cookies("username")
Avatar billede ejay Novice
28. maj 2002 - 10:09 #15
så funker det 1000 tak webbe :-)
Avatar billede webbe Nybegynder
28. maj 2002 - 10:10 #16
Det var så lidt. ;0)
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