none
habilitar FSO File System Object RRS feed

  • Pergunta

  • programers,  bom dia !

    não sei se é aqui para postar mais vms lá, de repente algume me dá uma luz,  tenho instalado em uma aplicação asp o fileupload e nos outros sistemas operacionais roda legal mais no no iis 7.5 está me dando problema no script,  ele para numa linha que diz  ' read posted content(s)

    RequestBin = Request.BinaryRead(iTotBytes)

    será que a recepção de dados binários não está ativado,  dá um erro de não permitido Objeto Request erro 'ASP 0104 : 80004005'

    Operação não Permitida,  como resolver isso?

    Desde já conto com a ajuda de vcs    Abraço a todos  \o/

    quinta-feira, 3 de fevereiro de 2011 09:41

Respostas

  • Putz brow, sem querer achei aonde era,  é na própria configuração do IIS 7.5  ,  abri lá e no componente asp em propriedades limites aumentei,  se não me engano tava em 200000 aumentei mais uns 2 zeros e  chu chu  blz,  ó pra quem tiver o mesmo problema faz isso que roda q nem uma skol gelada  abs   \o/
    • Marcado como Resposta Dzinerdu quinta-feira, 3 de fevereiro de 2011 15:04
    quinta-feira, 3 de fevereiro de 2011 15:04

Todas as Respostas

  • Olá,

    Este problema que você relata ocorre normalmente com arquivos grandes.

    Este problema não ocorre em servidores com IIS5, mas é comum ver este problema no IIS6 quando você usa Binaryread com arquivos maiores que 60mb. 

    No seu caso, podemos ler os dados em blocos em vez de tentar ler todo o arquivo de 60MB de uma única vez. Abaixo está um código de exemplo de como fazer:

    <% 
    'on error resume next 
    dim TotalSize 
    dim ChunkSize 
    dim BytesLeft 
    dim CurrentBytes 
    dim objADO 
    
    TotalSize = Request.TotalBytes ' The total size of the file 
    ChunkSize = 64*1024 ' 64K pages 
    If ChunkSize > TotalSize Then ' If the file is smaller than 64K, then we can read this in one go 
    ChunkSize = TotalSize 
    End If 
    
    BytesLeft = TotalSize ' Number of bytes left to read is initially all bytes 
    
    Set objADO = CreateObject("ADODB.Stream") 
    objADO.Type = 1 
    objADO.Open 
    
    Do While BytesLeft > 0 ' Do until the last set of bytes has been read 
    
    If BytesLeft < ChunkSize Then ' Mostly, the last set of bytes to be read will be less than the chunk size of 64K 
    ChunkSize = BytesLeft ' So we modify the chunk size to the value of last set of bytes to read 
    End If 
    
    objADO.Write Request.BinaryRead(ChunkSize) 'Read a 64 K page or all bytes if < 64K and write it into a ADODB Stream. 
    BytesLeft = BytesLeft - ChunkSize 'Reduce the bytes left. 
    
    Loop 
    
    objADO.SaveToFile "D:\ASP\Test.PDF" 'Save the stream 
    
    objADO.Close 'Close the Stream 
    
    'Dump errors. 
    If Err.Number <> 0 Then 
    Response.Write "<br>" 
    Response.Write err.Description 
    End If 
    
    %> 
    
    

    Espero que ajude!!!!

     


    Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support
    quinta-feira, 3 de fevereiro de 2011 11:20
  • O meu querido, obrigado pela sua resposta, mais acredito que não seja isso não, o arquivo que quero passar é de fotos e está bem leve, gira em torno de 50 kbs, iis 7.5 é cheio de nove horas, titio gates quer fritar mesmo kkkkkk, o veinho chato rs, brow, alguma coisa tem q ativar ali, mais o que? vlw \o/
    quinta-feira, 3 de fevereiro de 2011 13:19
  • Putz brow, sem querer achei aonde era,  é na própria configuração do IIS 7.5  ,  abri lá e no componente asp em propriedades limites aumentei,  se não me engano tava em 200000 aumentei mais uns 2 zeros e  chu chu  blz,  ó pra quem tiver o mesmo problema faz isso que roda q nem uma skol gelada  abs   \o/
    • Marcado como Resposta Dzinerdu quinta-feira, 3 de fevereiro de 2011 15:04
    quinta-feira, 3 de fevereiro de 2011 15:04