Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 14 Próxima »

Manipulação de arquivos remotos em sites da internet com utilização do protocolo WebDAV.

Sintaxe

 

nRet := WDClient(<cMethod> , <cLocalFile>, <cURL1>, <cURL2>, <cUserPwd>, <aInfo>)

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
cMethodcaracter

operação a ser efetuada

sn

Ver item 1 nas observações.

cLocalFilecaracterarquivo local a ser manipuladosnVer item 2 nas observações
cURL1caracterprimeira url a ser manipuladasnVer item 3 nas observações
cURL2caractersegunda url a ser manipuladasnVer item 4 nas observações
cUserPwdcaracterusuário e senha utilizadossnVer item 5 nas observações
aInfoarrayarray com informações retornadas pela funçãossVer item 6 nas observações

Retorno

NomeTipoDescriçãoObservações
nRetnumérico

resultado da operação

Ver item 7 nas observações

Observações

  1. Valores a serem utilizados no parâmetro cMethod:
    "PUT": upload de arquivo local para site remoto
    "GET": download de arquivo remoto para arquivo local
    "DELETE": remoção de arquivo no site remoto
    "COPY": cópia de um arquivo no site para outro arquivo no site
    "MOVE": move para outro diretório, ou renomeia um arquivo no site
    "MKCOL": cria um diretório no site

  2. Valores a serem utilizados no parâmetro cLocalFile
    método PUT: nome completo do arquivo local que vai ser copiado para o site remoto
    método GET: nome completo do arquivo local que vai ser baixado do site remoto
    outros métodos: sem uso, passar "" (string vazia)
    exemplo: "c:\xxx\yyy\zzz\aaa.zip"

  3. Valores a serem utilizados no parâmetro cURL1
    método PUT: url do arquivo remoto destino do upload
    método GET: url do arquivo remoto origem do download
    método DELETE: url do arquivo remoto que vai ser deletado
    método COPY:   url do arquivo remoto origem da cópia
    método MOVE:   url do arquivo remoto origem da movimentação
    método MKCOL: url do diretório a ser criado
    exemplo: "https://na1-di.gooddata.com/project-uploads/mftqxzzw58lfyz4cj1h114kvcva3kxy2/today"
    exemplo: "https://na1-di.gooddata.com/project-uploads/mftqxzzw58lfyz4cj1h114kvcva3kxy2/today/test.dat"
    exemplo: "http://mysite.example.com/mydir"
    exemplo: "http://mysite.example.com/mydir/myfile.txt"

  4. Valores a serem utilizados no parâmetro cURL2
    método COPY: url do arquivo remoto destino da cópia
    método MOVE: url do diretório destino da movimentação, ou novo nome do arquivo remoto
    outros métodos: sem uso, passar "" (string vazia)
    exemplos: ver item 3

  5. Valores a serem utilizados no parâmetro cUserPwd
    Usuário e senha do site remoto, normalmente no formato nome@site:senha
    (isto é, email e senha separados por ":").
    Caso não seja necessário, passar "" (string vazia).

  6. Valores retornados no parâmetro aInfo
    aInfo[1]: HTTP responde code enviado pelo site remoto
    aInfo[2]: código de erro interno caso a operação tenha falhado localmente
    aInfo[3]: código de erro do sistema operacional ou da camada de comunicação
    aInfo[4]: tempo total de duração da operação
    aInfo[5]: tamanho total de upload
    aInfo[6}: tamanho total de download

  7. Resultado da operação retornado em nRet
    0: operação bem sucedida
    1: erro retornado pelo site (verificar aInfo[1])
    2: erro detectado localmente (verificar aInfo[2])
    valores mais prováveis em aInfo[2] caso nRet tenha retornado 2:
    1: método inválido (não é "PUT", "GET", etc)
    7. faltando nome de arquivo local (cLocalFile == "")
    8: faltando valor da url1 (cURL1 == "")
    9: faltando valor da url (cURL2 == "")
    13: erro ao abrir/criar arquivo local
    outros valores recebidos em aInfo[2] devem ser reportados para possível correção

Exemplos

Upload de arquivo

local cLocalFile := "c:\my_dir\my_subdir\test_upload.zip"
local cURL1 := "http://my_site.example.com/my_files/test_upload.zip"
local cUserPwd := "[email protected]:my_password"
local aInfo := {}
local nRet := 0
        
conout("* fazendo upload do arquivo " + cLocalFile)
        
nRet = WDClient("PUT", cLocalFile, cURL1, "", cUserPwd, @aInfo)

if nRet == 0
   conout("* upload bem sucedido, verifique no site ")
else
   conout("* erro " + AllTrim(Str(nRet)) + " no upload")
   conout("* httpRespCode=" + AllTrim(Str(aInfo[1]))
   conout("* erro2=" + AllTrim(Str(aInfo[2]))
   conout("* erro3=" + AllTrim(Str(aInfo[3]))
endif

Download de arquivo

local cLocalFile := "c:\my_dir\my_subdir\test_download.zip"
local cURL1 := "http://my_site.example.com/my_files/test_download.zip"
local cUserPwd := "[email protected]:my_password"
local aInfo := {} local nRet := 0 conout("* fazendo download do arquivo " + cLocalFile) nRet = WDClient("GET", cLocalFile, cURL1, "", cUserPwd, @aInfo) if nRet == 0 conout("* download bem sucedido, verifique em seus arquivos") else conout("* erro " + AllTrim(Str(nRet)) + " no download") conout("* httpRespCode=" + AllTrim(Str(aInfo[1])) conout("* erro2=" + AllTrim(Str(aInfo[2])) conout("* erro3=" + AllTrim(Str(aInfo[3])) endif
 

 

Download de arquivo

 

user function exemplo()
return

 

 

 

Download de arquivo

 

user function exemplo()
return

 

 

 

Download de arquivo

 

user function exemplo()
return

 

 

Download de arquivo

 

user function exemplo()
return

 

 

 

 

Veja também

  • Sem rótulos