Esta mensagem é para quem conheçe mesmo!!

Delphi

10/02/2003

Estou desenvolvendo um sistema em 3 camadas e preciso enviar imagens para salvar no servidor como arquivo. Por exemplo: quero enviar para o meu servidor de aplicativo o arquivo c:\nuvens.bmp para o mesmo armazenar em um diretório específico e que não esta compartilhado, até por questão de segurança. Estou usando ServerSocket e ClientSocket pq quero enviar qualquer tipo de imagem e estou usando o método SendStream do ClientSocket. O problema é o seguinte, ao enviar arquivos com mais de 32kb ocorre um erro no receivebuf do serversocket com a mensagem de ´Não posso criar o arquivo´.
Para tentar minimizar este problema, estou tentando enviar partes do stream do arquivo usando o método TMemorystream.CopyFrom(streamsource, count). Na primeira remessa não dá problema mas na segunda remessa dá erro de Violação de acesso a memória.

Então galera esperta, se tem um jeito melhor para enviar arquivo para servidor ou alguma dica sobre Tmemorystream.copyfrom, eu ficarei muito grato mesmo.

Desde já agradeço vossa colaboração

Douglas
stdoug@bol.com.br


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

10/02/2003

Solução simples...
Quebre o arquivo na memória e envie em forma de pacotes... então remonte os pacotes (mesmo por que vc vai querer ter uma barra de progresso quando o arquivo for grande).

[]´s
Richard Natal


GOSTEI 0
Anonymous

Anonymous

10/02/2003

envez de enviar em forma de *.bmp envie em *.jpg para minimizar o seu tamanho...nao esquerça de comprimir o arquivo ´Compress=50´ or exemplo.
Voce vai criar um objeto TJpeg !


GOSTEI 0
POSTAR