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
Nome | Tipo | Descrição | Obrigatório | Referência | Observações |
---|---|---|---|---|---|
cMethod | caracter | operação a ser efetuada | s | n | Ver item 1 nas observações. |
cLocalFile | caracter | arquivo local a ser manipulado | s | n | Ver item 2 nas observações |
cURL1 | caracter | primeira url a ser manipulada | s | n | Ver item 3 nas observações |
cURL2 | caracter | segunda url a ser manipulada | s | n | Ver item 4 nas observações |
cUserPwd | caracter | usuário e senha utilizados | s | n | Ver item 5 nas observações |
aInfo | array | array com informações retornadas pela função | s | s | Ver item 6 nas observações |
Retorno
Nome | Tipo | Descrição | Observações |
---|---|---|---|
nRet | numérico | resultado da operação | Ver item 7 nas observações |
Observações
- 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 - 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" - 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" - 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 - 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). - 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 - 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 nos arquivos locais") 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
Download de arquivo
user function exemplo() return
Download de arquivo
user function exemplo() return
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas