ola pessoal,<div><br></div><div><br></div><div>Estou fazendo um programa que coleta um arquivo.zip e envia via smtp como anexo.</div><div>Ao tentar abrir o anexo que chegou por email, ocorre o seguinte erro:</div><div><br>
</div><div>End-of-central-directory signature not found. Either this file is not a Zip file, or it constitutes one disk of a multi-part Zip </div><div><br></div><div>Sobre o código:</div><div><br></div><div>use MIME::Base64;</div>
<div>use Socket;</div><div><br></div><div>Para abrir o arquivo:</div><div><br></div><div><div> open $a, "<$fname" or exec close_error (" $fname" );</div><div> binmode $a;</div></div><div><br>
</div><div>Para ler os dados, estou usando readline e encaminhando para o encode</div><div><div>$ans='';</div><div> while (<$a>) {</div><div> $ans=$ans.(encode_base64($_));</div><div> }</div>
<div> close($a) or die "close: $!" ;</div><div> return $ans;</div></div><div><br></div><div>E o conteúdo dessa variável é encaminhada via socket.</div><div>Eu acho que meu erro está na conversão para Base64, pois já fiz teste com um arquivo já convertido e o zip abriu corretamente.</div>
<div><br></div><div>Alguém já obteve o erro acima?</div><div><br></div><div>Obrigada pela ajuda.</div><div>[]'s</div><div>Eliane</div><div><br></div><div><br></div><div><br></div><div> </div><div><br></div>