Avatar billede cdc Novice
11. marts 2004 - 09:28 Der er 18 kommentarer og
1 løsning

Fejl i asp script, når jeg uploader billed til mappe

får denne fejl i et script.

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'MyFile.Write'

/nyheder/admin.asp, line 212

linie 212: MyFile.Write chr(AscB(MidB(value,i,1)))
Avatar billede goose Nybegynder
11. marts 2004 - 09:34 #1
Har du skriveadgang til mappen ?
Hvordan ser dit script ud ?

/Goose
Avatar billede cdc Novice
11. marts 2004 - 09:36 #2
ja jeg har skriveadgang til mappen, er igang med at integrere et nyhedscript med billed upload til min side, og den er svensk, koden er her:

<%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("Scripting.Dictionary")

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("ISSecureFile.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

  Conn.execute("Update news Set bild='newspic/" & newfilename & "'  Where id = "& Request.Querystring("id"))
  Response.Redirect "admin.asp?do=inne"%>
Avatar billede goose Nybegynder
11. marts 2004 - 09:42 #3
Hmm, der må jeg nok melde pas :o)
Måske kan denne side hjælpe dig lidt på vej :

http://www.webeye.nu/board/message.asp?f=1&m=9

- den minder meget om dit script.

/Goose
Avatar billede cdc Novice
11. marts 2004 - 09:45 #4
Det er jo denne der er problemet:

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

og det er desværre ikke en løsning på problemet i dit link :o(

/cdc
Avatar billede ellebaek Nybegynder
11. marts 2004 - 11:27 #5
prøv at slette denne linie: Set ScriptObject = Server.CreateObject("ISSecureFile.FileSystemObject")

og så ret disse linie:
Set ScriptObject = CreateObject("Scripting.FileSystemObject")

Set MyFile = ScriptObject.CreateTextFile(Server.mappath("newspic/"& newfilename))


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

Set MyFile = UploadRequest.CreateTextFile(Server.mappath("newspic/"& newfilename))
Avatar billede cdc Novice
11. marts 2004 - 11:30 #6
På mit hotel skal jeg bruge ("ISSecureFile.FileSystemObject") bruger jeg denne ("Scripting.FileSystemObject") får jeg fejl. Dette er lavet grundet sikkerheds foranstaltinger, siger hotel udbyder ?
Avatar billede ellebaek Nybegynder
11. marts 2004 - 11:33 #7
måske skal denne linie:
MyFile.Write chr(AscB(MidB(value,i,1)))


rettes til:
MyFile.WriteString chr(AscB(MidB(value,i,1)))
Avatar billede cdc Novice
11. marts 2004 - 11:39 #8
tester lige
Avatar billede cdc Novice
11. marts 2004 - 11:43 #9
uden at have gjort noget, får jeg denne fejl:

Microsoft Active Server Pages error '80040067'

Error: -2147221401 Source: Call Stack: FileSystemObject.CreateTextFile File already exists

/nyheder/admin.asp, line 209
Avatar billede ellebaek Nybegynder
11. marts 2004 - 11:46 #10
ligger filen i mappen ?

ellers skal du have en ,true i denne linie..
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("newspic/"& newfilename),true)
så får du lov til at overskrive, altså hvis du er interesseret i det.
Ellers kan du lave en test for om filen findes i forvejen, og hvis den ikke gør det må man uploade, men hvis den gør må man ikke uploade.
Avatar billede ellebaek Nybegynder
11. marts 2004 - 11:52 #11
Her er lidt info om ISSecureFile
http://216.15.255.202/Classic_ASP/ISSecure/ISSecure.htm

Hvis du vil lave en test af om filen findes inden du opretter den kan du lave det sådan her:

Set ScriptObject = Server.CreateObject("ISSecureFile.FileSystemObject")
if not ScriptObject.FileExists(Server.mappath("newspic/"& newfilename)) then
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("newspic/"& newfilename))

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

MyFile.Close
else
response.write "Filen findes allerede"
end if
Avatar billede cdc Novice
11. marts 2004 - 12:25 #12
jeg vender tilbage sener, skal ud i et møde :o)
Avatar billede cdc Novice
11. marts 2004 - 15:39 #13
den sidste fejl kom fordi den lægger filen i mappen, dog kommer denne fejl igen:

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'MyFile.Write'

/nyheder/admin.asp, line 212

linie 212: MyFile.Write chr(AscB(MidB(value,i,1)))
Avatar billede cdc Novice
11. marts 2004 - 15:44 #14
nu virker den med denne MyFile.WriteString chr(AscB(MidB(value,i,1)))

men nu opstår denne fejl:

Object doesn't support this property or method: 'MyFile.Close'

/nyheder/admin.asp, line 215

PS: Skal nok smide nogle extra points i, da den udvikler sig...

/cdc
Avatar billede ellebaek Nybegynder
11. marts 2004 - 18:40 #15
´Du skal rette denne linie:
MyFile.Close

til MyFile.CloseFile

så burde du ikke få den fejl
Avatar billede cdc Novice
11. marts 2004 - 19:36 #16
smider lige 15 oveni hatten for den sidste, så smider du ikke et svar ellebaek, så jeg kam give dig points, og tak for hjælpen

/cdc
Avatar billede ellebaek Nybegynder
11. marts 2004 - 19:37 #17
Jamen der kommer da et svar ;-)

Og velbekomme.
Avatar billede cdc Novice
11. marts 2004 - 19:39 #18
Og lidt til din karma :o)
Avatar billede ellebaek Nybegynder
11. marts 2004 - 19:40 #19
Mange tak for det ;-)
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