Jump to content
Fórum Script Brasil
  • 0

Como Instalar O Fso?


cyberalexxx
 Share

Question

13 answers to this question

Recommended Posts

  • 0

hmm

pra qual windows?

Eu sei que no XP não precisa fazer nada pra rodar FSO, mas no 98, eu nunca testei..

Link to comment
Share on other sites

  • 0

bota aí a descrição do erro..

Link to comment
Share on other sites

  • 0

olha o erro ai:

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01AD)

O componente do ActiveX não pode criar objeto: 'Scripting.FileSystemObject'

/intranet/sendmail.asp, line 128

linha de erro:

Set fso = CreateObject("Scripting.FileSystemObject")

Codigo completo:

Este codigo eu achei na net: ele faz o upload do arquivo para o servidor para poder ser enviado pelo CDONTS:

<HTML>

<HEAD>

<META http-equiv=Content-Type content="text/html; charset=unicode">   

    <%response.buffer=true

    Func = Request("Func")

   

if isempty(Func) then

      Func = 1

end if

    Select case Func

  case 1

    %>

</HEAD>

<BODY>

<P><FONT face=Arial color=blue size=4><STRONG>Select a File

to send as attachment.</STRONG></FONT>      </P>

      <FORM ENCTYPE="multipart/form-data" ACTION="sendmail.asp?func=2" METHOD=post id=form1 name=form1>

      <table>

      <tr><td><FONT face=Arial><STRONG></STRONG></FONT>

      <tr><td><FONT face=Arial><STRONG>File

      Name...</STRONG></FONT></td></tr>

      <tr><td><INPUT NAME=File1 SIZE=30 TYPE=file><br></td></tr>

      <tr><td align=left><input type="submit" value="Send!" ></td></tr>

      <tr><td></td></tr>

      </table>

    <%

   

  case 2

  ForWriting = 2

      adLongVarChar = 201

      lngNumberUploaded = 0

   

    'Get binary data from form 

      noBytes = Request.TotalBytes

        binData = Request.BinaryRead (noBytes)

   

    'convert the binary data to a string

      Set RST = CreateObject("ADODB.Recordset")

        LenBinary = LenB(binData)

   

        if LenBinary > 0 then

          RST.Fields.Append "myBinary", adLongVarChar, LenBinary

          RST.Open

            RST.AddNew

            RST("myBinary").AppendChunk BinData

            RST.Update

          strDataWhole = RST("myBinary")

        End If

   

    'Creates a raw data file for with all data sent. Uncomment for debuging.

    'Set fso = CreateObject("Scripting.FileSystemObject")

    'Set f = fso.OpenTextFile(server.mappath(".") & "\raw.txt", ForWriting, True)

    'f.Write strDataWhole

    'set f = nothing

    'set fso = nothing

   

    'get the boundry indicator

    strBoundry = Request.ServerVariables ("HTTP_CONTENT_TYPE")

    lngBoundryPos = instr(1,strBoundry,"boundary=") + 8

    strBoundry = "--" & right(strBoundry,len(strBoundry)-lngBoundryPos)

   

    'Get first file boundry positions.

    lngCurrentBegin = instr(1,strDataWhole,strBoundry)

    lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1

do while lngCurrentEnd > 0

  'Get the data between current boundry and remove it from the whole.

  strData = mid(strDataWhole,lngCurrentBegin, lngCurrentEnd - lngCurrentBegin)

    strDataWhole = replace(strDataWhole,strData,"")

     

  'Get the full path of the current file.

      lngBeginFileName = instr(1,strdata,"filename=") + 10

      lngEndFileName = instr(lngBeginFileName,strData,chr(34))

   

  'Make sure they selected at least one file.

      if lngBeginFileName = lngEndFileName and lngNumberUploaded = 0 then

   

      Response.Write "<h2> The following error occured.</h2>"

      Response.Write "You must select at least one file to upload"

      Response.Write "<br><br>Hit the back button, make the needed corrections and resubmit your information."

      Response.Write "<br><br><input type='button' onclick='history.go(-1)' value='<< Back' id='button'1 name='button'1>"

      Response.End

   

      end if

   

  'There could be one or more empty file boxes.

      strFilename = mid(strData,lngBeginFileName,lngEndFileName - lngBeginFileName)

   

  'Creates a raw data file with data between current boundrys. Uncomment for debuging.

      'Set fso = CreateObject("Scripting.FileSystemObject")

      'Set f = fso.OpenTextFile(server.mappath(".") & "\raw_" & lngNumberUploaded & ".txt", ForWriting, True)

      'f.Write strData

      'set f = nothing

      'set fso = nothing

     

  'Loose the path information and keep just the file name.

      tmpLng = instr(1,strFilename,"\")

     

      do while tmpLng > 0

        PrevPos = tmpLng

        tmpLng = instr(PrevPos + 1,strFilename,"\")

      loop

     

        FileName = right(strFilename,len(strFileName) - PrevPos)

   

  'Get the begining position of the file data sent.

  'if the file type is registered with the browser then there will be a Content-Type

      lngCT = instr(1,strData,"Content-Type:")

   

        if lngCT > 0 then

        lngBeginPos = instr(lngCT,strData,chr(13) & chr(10)) + 4

         

          else

            lngBeginPos = lngEndFileName

        end if

   

  'Get the ending position of the file data sent.

      lngEndPos = len(strData)

     

  'Calculate the file size.

      lngDataLenth = lngEndPos - lngBeginPos

    'Get the file data

      strFileData = mid(strData,lngBeginPos,lngDataLenth)

   

    ' Create the file, change the path to the path U use for temp storage of the file

    ' make sure you have the IUSR_YOURCOMPUTER granted WRITE access to the uploads dir

      Set fso = CreateObject("Scripting.FileSystemObject")

        Set f = fso.OpenTextFile(server.mappath("../fileupload/uploads") & "\" & FileName, ForWriting, True)

        f.Write strFileData

   

      ' Get full Path, you need it for deleting the file later 

        Dim ThisFile

        ThisFile = server.MapPath("../fileupload/uploads") & "/" & filename

   

          lngNumberUploaded = lngNumberUploaded + 1

     

      ' destroy f, free memory

        set f = nothing

     

  'Get then next boundry postitions if any

    lngCurrentBegin = instr(1,strDataWhole,strBoundry)

    lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1

loop

   

    ' CDO mail object

    Set objCDOMail = Server.CreateObject("CDONTS.NewMail")

   

    ' CDO mail setttings

  with objCDOMail

  .Body = "TestMailtje met attachment!"

  .Subject = "testing 123"

  .From = "[email protected]"

  .To = "[email protected]"

  '.Cc = strCC   

  .MailFormat = 0 

  .AttachFile ThisFile

  .Send

  end with

' destroy object, free memory

set objCDOMail = nothing

   

    ' Now the file in the uploads dir can be deleted

    fso.DeleteFile ThisFile

   

    ' Destroy FileSystemObject, Free memory

    set fso = nothing

         

      Response.Write "Uw mail is verstuurd!</h2>"

      Response.Write "<br><br><input type='button' onclick='document.location=" & chr(34) & "sendmail.asp" & chr(34) & "' value='<< Back' id='button'1 name='button'1>"       

   

end select

   

 

    %></FORM>

    </BODY>

    </HTML>

Link to comment
Share on other sites

  • 0

Consegui!!!

O problema era o seguinte:

O windows XP realmente vem com o componente só que ele não fica registrado no server.

Dai foi só registrar, o nome da DLL é scrrun.dll

Outra coisa:

O codigo que eu postei antes, funciona muito bem, ele faz o upload do arquivo local para o servidor sem nenhum componente adicional, depois envia o anexo pelo CDONTS e apaga o arquivo temporário gerado.

T+

valeu

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.5k
×
×
  • Create New...