webForumDet fria alternativet

Nyhetsbrev med bild, problem!

5 svar · 489 visningar · startad av ChiefJoseph

ChiefJosephMedlem sedan okt. 200173 inlägg
#1

Jag använder mig mycket att av ett nyhetsscript skrivet av Åsa Gruvsjö och är mycket nöjd med det.
Nu är det så att bilduppladdningen helt plötsligt inte fungerar på det webbhotell jag ligger på.
(Gotanet)

Min teori är att webbhotellet tagit bort en komponent men de säger att de enda de gjort är att ökat säkerheten och uppgraderat MS-script....vad är MS-script?

Felmeddelandet är:
*************************************
Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'UploadRequest.Add'

/nyheter/function.asp, line 36
****************************************

Tacksam för tips!!

@ndersMedlem sedan juni 200032 969 inlägg
#2

Utan kod, ingen hjälp.

ChiefJosephMedlem sedan okt. 200173 inlägg
#3

Nyhetsbrev med bild, problem..med kod!

Här är koden i function.asp

<%
Sub BuildUploadRequest(RequestBin)
  PosBeg = 1
  PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
  boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
  boundaryPos = InstrB(1,RequestBin,boundary)
  Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
    Dim UploadControl
    Set UploadControl = CreateObject("Scripting.Dictionary")
    Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
    Pos = InstrB(Pos,RequestBin,getByteString("name="))
    PosBeg = Pos+6
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
    Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
    PosBound = InstrB(PosEnd,RequestBin,boundary)
    If PosFile<>0 AND (PosFile<PosBound) Then
        PosBeg = PosFile + 10
        PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
        FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
        UploadControl.Add "FileName", FileName
        Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
        PosBeg = Pos+14
        PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
        ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
        UploadControl.Add "ContentType",ContentType
        PosBeg = PosEnd+4
        PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
        Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
        Else
        Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
        PosBeg = Pos+4
        PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
        Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    End If
  UploadControl.Add "Value" , Value
  UploadRequest.Add name, UploadControl
  BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
  Loop
End Sub

Function getByteString(StringStr)
  For i = 1 to Len(StringStr)
    char = Mid(StringStr,i,1)
    getByteString = getByteString & chrB(AscB(char))
  Next
End Function

Function getString(StringBin)
  getString =""
  For intCount = 1 to LenB(StringBin)
    getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
  Next
End Function
%>

***********************************

ChiefJosephMedlem sedan okt. 200173 inlägg
#4

Nyhetsbrev med bild, problem-kod2!

och här kommer koden i admin.asp

[CODE]
<%Response.Buffer=True
Response.Expires=0
Session.Lcid = 1053
Response.Clear

Function Fixa(str)
Fixa = Replace(Trim(str),"'","''")
End function

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databasen.mdb")%>

<html>
<head>
<title>Nyheter</title>
<link rel="stylesheet" href=".css" type="text/css">
<script src="js.js"></script>
</head>

<body>

<%If Request.QueryString("do") = "" Then%>

  \<table width="400" cellpadding="4" cellspacing="0"\>
    \<form name="loggain" method="post" action="admin.asp?do=check"\>
     \<tr height="20"\>
      \<td colspan="2" style="border-bottom: 1px solid #000000"\>\<b\>Administrera nyheter\</font\>\</b\>\</td\>
    \</tr\>
    \<tr\>
       \<td\>\<b\>Användarnamn:\</b\>\</td\>
       \<td\>\<input type="text" name="nyhetsadmin1" size="15"\>
    \</tr\>
    \<tr\>
        \<td\>\<b\>Lösenord:\</b\>\</td\>
        \<td\>\<input type="password" name="nyhetsadmin2" size="15"\>
    \</tr\>
    \<tr\>
        \<td style="border-top: 1px solid #000000"\>&nbsp;\</td\>
        \<td style="border-top: 1px solid #000000"\>\<input type="submit" value="Logga in"\>\</td\>
    \</tr\>
   \</form\>
   \<%If Session("mess") \<\> "" Then%\>
   \<tr\>
       \<td align="center" colspan="2" style="border-top: 1px solid #000000"\>\<b\>\<%=Session("mess")%\>\<%Session("mess") = ""%\>\</b\>\</td\>
      \</tr\>
     \<%End If%\>
  \</table\>

<%End If
If Request.QueryString("do") = "check" Then
If Request.Form("nyhetsadmin1") = Losen1 AND Request.Form("nyhetsadmin2") = Losen2 Then
Session("nyhet") = Secure
Session.TimeOut = 40
Response.Redirect "admin.asp?do=inne"
Else
Response.Redirect "admin.asp?do=login"
End If
End If
If Request.QueryString("do") = "inne" Then%>

 \<table border="0" width="450" cellpadding="4" cellspacing="0"\>
     \<tr\>
	 \<td colspan="3" style="border: 1px solid #333333; background-color: F5F5F5;padding:8px;"\>\<strong\>Uppdatering för nyheter\</strong\>\<br\>
	 Detta är ert verktyg för att skriva in, ta bort, lägga till bild eller pdf samt redigera nyheter.

<br><br>Det finns en speciell rutin när det gäller att bifoga pdf till en nyhet. Skall det vara både en pdf och en bild i nyheten så <u>måste</u> pdf:en laddas upp först. Därefter är det bara att ladda upp bilden.<br>
För att du skall vara helt säker på att en bild eller liknande verkligen är raderad så rekommenderar jag att du trycker F5 på tangentbordet för att uppdatera.
</td>
</tr>
<tr>
<td height="45" colspan="2" ><b><a href="admin.asp?do=inne" class="tool">Start</a>   <a href="admin.asp?do=inne&action=add" class="tool">Lägg till nyhet</a>   <a href="admin.asp?do=inne&action=loggaut" class="tool">Logga ut</a></b></font></td>
</tr>
</table>
<%If Request.Querystring("action")= "" AND Session("nyhet") = Secure Then%>

<table border="0" width="450" cellspacing="0" cellpadding="0">

<%Set RecSet = Server.CreateObject("ADODB.Recordset")

Const perSida1 = 15
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If

With RecSet
.CursorLocation = 3
.CacheSize = perSida1
End With

SQL = "SELECT * FROM news ORDER BY datum DESC"
RecSet.Open SQL, Conn

If RecSet.EOF Then%>

<tr>
<td height="14">Inga Nyheter</td>
</tr>
</table>

<%Else%>
<tr height="20">
<td width="240" style="border-bottom: 1px solid #000000"><b>Nyhetsrubrik</b></td>
<td align="center" width="100" style="border-bottom: 1px solid #000000"><b>Datum</b></td>
<td align="right" width="60" style="border-bottom: 1px solid #000000"> </td>
</tr>
<%With RecSet
.MoveFirst
.PageSize = perSida1
.AbsolutePage = sida
End With

Sidor = RecSet.PageCount
Count = 0
Do While Not RecSet.EOF And Count < RecSet.PageSize%>
<% pdf=RecSet("pdf") %>
<tr height="20">
<td><b><%If Len(RecSet("rubrik")) > 29 Then%> <%=Left(RecSet("rubrik"),20)%>...
<%Else%><%=RecSet("rubrik")%>
<%End If%></td>
<td align="center"><%=FormatDateTime(RecSet("Datum"),2)%></b>  
</td>
<td align="right">
<% If RecSet("pdf") <> "" Then%><a href="admin.asp?do=inne&action=delpdf&id=<%=RecSet("id")%>&bild=<%=Mid(RecSet("pdf"),9)%>" onClick="return confirm('Vill du verkligen ta bort pdf:en <%=Mid(RecSet("pdf"),9)%>?');"><img src="bilder/pdf.gif" alt="Ta bort pdf:en?" hspace="4" border="0"></a><%End If%><%If RecSet("bild") <> "" Then%> <a href="admin.asp?do=inne&action=delbild&id=<%=RecSet("id")%>&bild=<%=Mid(RecSet("bild"),9)%>" onClick="return confirm('Vill du verkligen ta bort bilden <%=Mid(RecSet("bild"),9)%>?');"><img src="bilder/foto.gif" border="0" alt="Ta bort bilden?"></a><%Else%> <a href="admin.asp?do=inne&action=new&id=<%=RecSet("id")%>"><img src="bilder/fotooff.gif" border="0" alt="Lägg till ny bild"></a><%End If%>  <a href="admin.asp?do=inne&action=change&id=<%=RecSet("id")%>" title="Ändra"><img src="bilder/update.gif" border="0" alt="Ändra nyheten?"></a>  <a href="admin.asp?do=inne&action=delete&id=<%=RecSet("id")%>&bild=<%=Mid(RecSet("bild"),9)%>" title="Ta bort" onClick="return confirm('Vill du verkligen ta bort <%=RecSet("rubrik")%>?');"><img src="bilder/trash.gif" border="0" alt="Ta bort nyheten?"></a></td>
</tr>

<%Count = Count + 1
RecSet.MoveNext
Loop

If Sidor > 1 Then%>
<tr>
<td colspan="3" style="border-top: 1px solid #000000"><b>
<%If Sidor <> 1 Then
For Sid = 1 To Sidor
If (Int(Sid)) = (Int(sida)) Then%><font color="#ff0000"><%=Sid%></font><%Else%> <a href="admin.asp?do=inne&sida=<%=Sid%>"><%=Sid%></a> <%End If%>
<%Next%></b></font>
</td>
</tr>

<%End If
End If%>

 \<%If Session("mess") \<\> "" Then%\>
 \<tr\>
    \<td colspan="3" align="center" style="border-top: 1px solid #000000"\>\<b\>
 \<%
   Response.Write Session("mess")
   Session("mess") = ""
 %\>\</b\>
   \</td\>
 \</tr\>
 \<%End If%\>

</table>

<%RecSet.Close
Set RecSet = Nothing
End If
End If
If Request.Querystring("action") = "new" AND Session("nyhet") = Secure Then%>

<table width="400" cellpadding="4" cellspacing="0">
<form method="post" enctype="multipart/form-data" action="admin.asp?do=inne&action=picin&id=<%=Request.Querystring("id")%>" name="frmUpload" onSubmit="return Nybild()">
<tr>
<td><b>Bilden:</b><br><input type="file" name="fil" size="45"></td>
</tr>
<tr>
<td><input type="Submit" name="andra" value="Ladda upp nu"></td>
</tr>
</form>
</table>

<%End If
If Request.Querystring("action")= "picin" AND Session("nyhet") = Secure Then

byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("SoftArtisans.FileUp")

BuildUploadRequest RequestBin

contentType = UploadRequest.Item("fil").Item("ContentType")
filepathname = UploadRequest.Item("fil").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("fil").Item("Value")
Bild = "newspic/" & filename

' hämtar filextension
extension = right(Bild,len(Bild) - instr(Bild,".") +1)

mappnamn = Right("000" & trim(Request.Querystring("id")), 3)

Filen = Right("000000" & trim("news_" & Request.Querystring("id")), 6)

' bygger ihop det nya filnamnet
newfilename = Filen & extension

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("newspic/"& newfilename))

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close
If Right(newfilename, 4) =".pdf" Then
Conn.execute("Update news Set pdf='newspic/" & newfilename & "' Where id = "& Request.Querystring("id"))
Response.Redirect "admin.asp?do=inne"
else
Conn.execute("Update news Set bild='newspic/" & newfilename & "' Where id = "& Request.Querystring("id"))
Response.Redirect "admin.asp?do=inne"
end if%>

<!--#Include file="function.asp"-->

***********Koden fortsätter i nästa inlägg****************

ChiefJosephMedlem sedan okt. 200173 inlägg
#5

Nyhetsbrev med bild, problem-kod3!

<%End If
If Request.Querystring("action") = "add" AND Session("nyhet") = Secure Then%>

<table width="400" cellpadding="4" cellspacing="0">
<form method="post" action="admin.asp?do=inne&action=spara" name="nyhet" onSubmit="return News()">
  <tr>
    <td><b>Skribent:</b><br><input type="text" name="namn" size="45"></td>
  </tr>
  <tr>
    <td><b>Rubrik:</b><br><input type="text" name="rubrik" size="45"></td>
  </tr>
  <tr>
    <td><b>Nyhet:</b><br><textarea cols="60" rows="10" name="nyhet"></textarea></td>
  </tr>
  <tr>
    <td><input type="Submit" name="andra" value="Lägg till"></td>
  </tr>
</form>
</table>

<%End If
If Request.Querystring("action")= "change" AND Session("nyhet") = Secure Then

Set RecSet = Conn.Execute("SELECT * FROM news WHERE id="& Request.Querystring("id"))%>

<table width="450" cellpadding="4" cellspacing="0">
<form method="post" action="admin.asp?do=inne&action=andrat&id=<%=Request.Querystring("id")%>" name="nyhet" onSubmit="return News()">
  <tr>
    <td><b>Skribent:</b><br><input type="text" name="namn" size="45" value="<%=RecSet("namn")%>"></td>
  </tr>
  <tr>
    <td><b>Rubrik:</b><br><input type="text" name="rubrik" size="45" value="<%=RecSet("rubrik")%>"></td>
  </tr>
  <tr>
    <td><b>Nyhet:</b><br><textarea cols="60" rows="10" name="nyhet" size="45"><%=RecSet("nyhet")%></textarea></td>
  </tr>
  <tr>
    <td><input type="Submit" name="andra" value="Utför ändringar"></td>
  </tr>
</form>
</table>

<%RecSet.Close
Set RecSet = Nothing

End If
If Request.Querystring("action")= "spara" AND Session("nyhet") = Secure Then
   Rubrik      = Fixa(Request.Form("rubrik"))
   Nyhet       = Fixa(Request.Form("nyhet"))
   Namn       = Request.Form("namn")

   Conn.Execute("INSERT INTO news(Rubrik,Nyhet,namn) VALUES('" & Rubrik & "','" & Nyhet & "','" & Namn & "')")
   Response.Redirect "admin.asp?do=inne"
End If
If Request.Querystring("action") = "andrat" AND Session("nyhet") = Secure Then
   Rubrik      = Fixa(Request.Form("rubrik"))
   Nyhet       = Fixa(Request.Form("nyhet"))
   Namn       = Request.Form("namn")

   Conn.execute("Update news Set Rubrik='" & Rubrik & "', Nyhet='" & Nyhet & "', namn='" & Namn & "'  Where id = "& Request.Querystring("id"))
   Response.Redirect "admin.asp?do=inne"
End If

If Request.Querystring("action") = "delpdf" AND Session("nyhet") = Secure Then
   Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
   Set Mapp = Mappkoll.GetFolder(Server.MapPath("bilder"))
   Bild        = Request.QueryString("bild")

   Mappen = Mapp & "\" & Bild

   If Mappkoll.FileExists(Mappen) Then
      Mappkoll.DeleteFile(Mappen)
   End If 
	Conn.execute("Update news Set pdf='' Where id = "& Request.Querystring("id"))
   Response.Redirect "admin.asp?do=inne"
End If
If Request.Querystring("action") = "delbild" AND Session("nyhet") = Secure Then
   Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
   Set Mapp = Mappkoll.GetFolder(Server.MapPath("bilder"))
   Bild        = Request.QueryString("bild")

   Mappen = Mapp & "\" & Bild

   If Mappkoll.FileExists(Mappen) Then
      Mappkoll.DeleteFile(Mappen)
   End If 
   Conn.execute("Update news Set bild='' Where id = "& Request.Querystring("id"))
   Response.Redirect "admin.asp?do=inne"
End If
If Request.Querystring("action") = "delete" And Session("nyhet") = Secure Then
   Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
   Set Mapp = Mappkoll.GetFolder(Server.MapPath("bilder"))
   Bild        = Request.QueryString("bild")

   Mappen = Mapp & "\" & Bild

   If Mappkoll.FileExists(Mappen) Then
      Mappkoll.DeleteFile(Mappen)
   End If 

   Conn.Execute("Delete From news Where id="& Request.Querystring("id"))
   Response.Redirect "admin.asp?do=inne"
End If
If Request.Querystring("action") = "loggaut" Then
   Session.Abandon
   Response.Redirect "index.asp"
End If

End If
Conn.Close
Set Conn = Nothing%>

</body>
</html>
CatZMedlem sedan jan. 20022 440 inlägg
#6

Testar.... brukar inte kunna skriva något på webforum längre...

ni får gärna ta bort detta meddelandet :)

133 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)