Á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 11 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 cMethod := "PUT"
local cLocalFile := "c:\mydir\mysubdir\myfile.zip"
local cURL1 := "http://mysite.examplo.com/myfiles/myfile.zip"
local cURL2 := ""
local cUserPwd := "[email protected]:mypassword"
local aInfo := {}
local nRet := 0
        
conout("* fazendo upload do arquivo " + cLocalFile)
        
nRet = WDClient("PUT", cLocalFile, cURL1, cURL2, 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

 

user function exemplo()
return

Veja também

  • Sem rótulos