associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "WsUpload"

Diferenças entre as versões de 1 e 7 (6 versões de distância)
Revisão 1e 2005-09-19 20:47:22
Tamanho: 733
Comentário:
Revisão 7e 2009-12-24 06:39:34
Tamanho: 717
Editor: newacct
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 3: Linha 3:
Lado do Servidor: Servidor
Linha 5: Linha 5:
{{{
#!python
Linha 9: Linha 11:
import base64
Linha 15: Linha 16:
        out.write(str(base64.decodestring(file)))         out.write(str(file.decode('base64')))
Linha 21: Linha 22:
}}}
Linha 22: Linha 24:
Lado do Cliente: Cliente
Linha 24: Linha 26:
{{{
#!python
Linha 26: Linha 30:
import base64
Linha 33: Linha 36:
server.upload_file(base64.encodestring(data), file_name) server.upload_file(data.encode('base64'), file_name)
Linha 35: Linha 38:
}}}

Neste exemplo foi utilizado o SOAPpy.

Servidor

   1 #!/usr/bin/env python
   2 # -*- coding: iso-8859-1 -*-
   3 import sys
   4 import os
   5 
   6 from SOAPpy import *
   7 
   8 def upload_file(file, name):
   9         out = open(name,'wb')
  10         out.write(str(file.decode('base64')))
  11         out.close()
  12     
  13 server = SOAPServer(('localhost',8080))
  14 server.registerFunction(upload_file)
  15 server.serve_forever()

Cliente

   1 #!/usr/bin/env python
   2 # -*- coding: iso-8859-1 -*-
   3 from SOAPpy import *
   4 import os
   5 server = SOAPProxy('http://localhost:8080')
   6 file_name = 'upf.zip'
   7 file=open(file_name, 'rb')
   8 data=file.read()
   9 server.upload_file(data.encode('base64'), file_name)
  10 file.close()