Avatar billede Slettet bruger
11. november 2008 - 15:11 Der er 7 kommentarer og
1 løsning

AspSmartUpload Problem

Jeg har ført brugt AspUpload, men er tvunget til at bruge smart upload fremover.

Jeg har derfor prøvet at ændre mit script så det kan bruge AspSmartUpload i stedet for, men det går ikke lige så godt.

Nogen der kan overskue dette og hjælpe mig?

Den giver følgende fejl:

Microsoft VBScript compilation error '800a0400'

Expected statement

/upload.asp, line 177

end
^

Hvilket er sidste linje.

Der er nok kommet lidt syntaxfejl efter jeg har prøvet at få aspsmartupload til at fungerer i stedet for aspupload.

<%
'  Variables
'  *********
  Dim upload
  Dim file
  Dim intCount
  intCount=0
       
'  Object creation
'  ***************
  Set Upload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  upload.Upload

'  Select each file
'  ****************
  For each file In upload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then
      '  Save the files with his original names in a virtual path of the web server
      '  ****************************************************************************
        file.SaveAs("/aspSmartUpload/Upload/" & file.FileName)
        ' sample with a physical path
        ' file.SaveAs("c:\temp\" & file.FileName)

      '  Display the properties of the current file
      '  ******************************************
        Response.Write("Name = " & file.Name & "<BR>")
        Response.Write("Size = " & file.Size & "<BR>")
        Response.Write("FileName = " & file.FileName & "<BR>")
        Response.Write("FileExt = " & file.FileExt & "<BR>")
        Response.Write("FilePathName = " & file.FilePathName & "<BR>")
        Response.Write("ContentType = " & file.ContentType & "<BR>")
        Response.Write("ContentDisp = " & file.ContentDisp & "<BR>")
        Response.Write("TypeMIME = " & file.TypeMIME & "<BR>")
        Response.Write("SubTypeMIME = " & file.SubTypeMIME & "<BR>")
        intCount = intCount + 1
      End If
  Next

'  Display the number of files which could be uploaded
'  ***************************************************
  Response.Write("<BR>" & upload.Files.Count & " files could be uploaded.<BR>")

'  Display the number of files uploaded
'  ************************************
  Response.Write(intCount & " file(s) uploaded.<BR>")
%>
<% For Each File in Upload.Files
filename = File.FileName %>
<TD><B><% = File.OriginalPath %></B></TD>
<TD ALIGN=RIGHT VALIGN="TOP"><% =File.Size %> bytes</TD>
<TD ALIGN=RIGHT VALIGN="TOP"><% =File.OriginalSize %> bytes</TD><TR>
<%

%>
<%
t = t + 1
    strbeskrivelse = Replace(Upload.Form("spilbesk"), "'", "''")
    strspil = 2
    stroverskrift = Replace(Upload.Form("spiln"), "'", "''")
    strnews = Replace(Upload.Form("news"), "'", "''")
    strkategori = Replace(Upload.Form("kategori"), "'", "''")
      brugernavn =  Session("Username")
    strmoviekategori = Replace(Upload.Form("spilkat"), "'", "''")

' Tilfojer til databasen
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/test.mdb")
Conn.Open DSN


If t = 1 Then
    strSQL = "INSERT INTO seneste (pic) VALUES ('"& File.Filename &"')"
    Conn.Execute(strSQL)
    set sID = Conn.Execute("SELECT @@IDENTITY AS NewID")
    Session("senesteid") = sID("NewID")
Else
    strUpdate = "UPDATE seneste SET filnavn = '"& File.Filename &"', beskrivelse = '"& strbeskrivelse &"', kategori = '"& strkategori &"', powerpoint = '"& brugernavn &"', moviekategori = '"& strmoviekategori &"', visnyhed = '"& strnews &"', overskrift = '"& stroverskrift &"', spil = '"& strspil &"' WHERE id = "& Session("senesteid") &""

End if
end
%>
Avatar billede erikjacobsen Ekspert
11. november 2008 - 15:13 #1
Du mangler vel en
  next
til din ene "for each"
Avatar billede Slettet bruger
11. november 2008 - 15:34 #2
hmmm... jeg har smidt den ind til sidst, hvor jeg mener den skulle være måske? Det hjalp dog ikke...

End if
next
end
%>
Avatar billede erikjacobsen Ekspert
11. november 2008 - 18:11 #3
Hvad hører den "end" til ?
Avatar billede Slettet bruger
11. november 2008 - 19:20 #4
Godt spørgsmål.. :-)
Avatar billede Slettet bruger
11. november 2008 - 19:31 #5
Det hjalp.

Jeg fjernede end og det "virker nu". Den kører i hvert fald scriptet igennem nu.
Filerne bliver uploaded, men det er kun det første billedenavn der kommer med i databasen. Alle andre felter er tomme..
Avatar billede erikjacobsen Ekspert
11. november 2008 - 20:04 #6
Jah, men det er der nok en forklaring på.

1)  Hvad mener du, når du aflæser Upload.Form("spilbesk") i hvert gennemløb. SKal det være den samme værdi.

2)  Og så kan det vel ikke undre, at der kun står een ting i databasen, når du overskriver værdierne.

Hvad er det der skal ske?
Avatar billede Slettet bruger
11. november 2008 - 20:10 #7
Jeg har en form hvor jeg indtaster en overskrift, en beskrivelse og uploader et billede og et videoklip. Det er så det der skal tilføjes i databasen.

Det plejer at virke som det er nu og jeg kan da lige smide orginalen her som den var før. Så kan du måske se hvor det går galt?

<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Server.ScriptTimeout = 2200
Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 50048576 ' Limit files to 50MB
Count = Upload.Save(Server.MapPath("/movieimages"))
%>
<HTML>
<BODY BGCOLOR="#FFFFFF">
<CENTER>

<% If Err <> 0 Then %>

<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>
<H3>The following error occured while uploading:</h3>
</FONT>

<h2>"<% = Err.Description %>"</h2>
</FONT>

<FONT SIZE=2 FACE="Arial" COLOR="#0020A0">
Please <A HREF="../aspupload.asp">try again</A>.
</FONT>

<% Else %>
<h2>Success! <% = Count %> file(s) have been uploaded.</h2>
</FONT>

<% For Each File in Upload.Files
filename = File.FileName %>
<TD><B><% = File.OriginalPath %></B></TD>
<TD ALIGN=RIGHT VALIGN="TOP"><% =File.Size %> bytes</TD>
<TD ALIGN=RIGHT VALIGN="TOP"><% =File.OriginalSize %> bytes</TD><TR>
<%

%>
<%
t = t + 1
    strbeskrivelse = Replace(Upload.Form("spilbesk"), "'", "''")
    strspil = 2
    stroverskrift = Replace(Upload.Form("spiln"), "'", "''")
    strnews = Replace(Upload.Form("news"), "'", "''")
    strkategori = Replace(Upload.Form("kategori"), "'", "''")
      brugernavn =  Session("Username")
    strmoviekategori = Replace(Upload.Form("spilkat"), "'", "''")

' Tilfojer til databasen
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/database.mdb")
Conn.Open DSN


If t = 1 Then
    strSQL = "INSERT INTO seneste (pic) VALUES ('"& File.Filename &"')"
    Conn.Execute(strSQL)
    set sID = Conn.Execute("SELECT @@IDENTITY AS NewID")
    Session("senesteid") = sID("NewID")
Else
    strUpdate = "UPDATE seneste SET filnavn = '"& File.Filename &"', beskrivelse = '"& strbeskrivelse &"', kategori = '"& strkategori &"', powerpoint = '"& brugernavn &"', moviekategori = '"& strmoviekategori &"', visnyhed = '"& strnews &"', overskrift = '"& stroverskrift &"', spil = '"& strspil &"' WHERE id = "& Session("senesteid") &""
%>

<%
    Conn.Execute(strUpdate)
    Session("senesteid") = ""


End If
Next
End If
%>
Avatar billede Slettet bruger
20. november 2012 - 11:56 #8
Svar
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