Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Manipulação de arquivos remotos em sites da internet com utilização do protocolo WebDAV. Podem ser usados tanto sites sem segurança (http://) quanto sites seguros (https://)

Sintaxe

 

Bloco de código
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
Toggle Cloak
exclusivetrue

Cloak
visibletrue
true

Download de arquivo
Toggle Cloak
exclusivetrue

Cloak
visibletrue
true

Cópia remota de arquivos
Toggle Cloak
exclusivetrue

Cloak
visibletrue
true

Mudança de nome de  arquivo remoto
Toggle Cloak
exclusivetrue

Cloak
visibletrue
true

Mudança de localização de  arquivo remoto
Toggle Cloak
exclusivetrue

Cloak
visibletrue
true

Deleção de  arquivo remoto
Toggle Cloak
exclusivetrue

Cloak
visibletrue
true

 

 

 

Criação de diretório remoto
Toggle Cloak
exclusivetrue

  

Bloco de código
 
linenumbers

 

 

 

true
local cURL1 := "http://my_site.example.com/my_files/new_dir"
local cUserPwd := "[email protected]:my_password"
local aInfo := {}
local nRet := 0
        
conout("* criando diretório remoto")
        
nRet = WDClient("MKCOL", "", cURL1, "", cUserPwd, @aInfo)

if nRet == 0
   conout("* criação de sitrtório remoto bem sucedida, verifique no site")
else
   conout("* erro " + AllTrim(Str(nRet)) + " na mudança de criação de diretório remoto")
   conout("* httpRespCode=" + AllTrim(Str(aInfo[1]))
   conout("* erro2=" + AllTrim(Str(aInfo[2]))
   conout("* erro3=" + AllTrim(Str(aInfo[3]))
endif

 

Veja também