Jump to content
MarcioVmRJ

Upload com Dundas, utilizando ImpersonateUser

Recommended Posts

Olá.

Gostaria de saber como fazer um upload utilizando autenticação no ftp com o Dundas.

Alguém sabe se é possível?

Já tentei várias formas para autenticar no ftp e não está funcionando.

Tentei esse aqui também, que não utiliza o dundas: https://benmeg.com/code/asp/ftp.asp.html mas não funcionou.

 

Meu código está assim:
Set DundasUpload = server.CreateObject("Dundas.Upload.2")
DundasUpload.ImpersonateUser "login", "senha", "dominio", 3
DundasUpload.UseUniqueNames = false

 

DundasUpload.Save caminhoteste

DundasUpload.ImpersonationTerminate()
Set DundasUpload = Nothing
 

tentei assim também: DundasUpload.ImpersonateUser "login", "senha", "ftp://dominio.com.br/fotos", 3

mas retorna "Can't open file for writing. -2147467259"

Mas o diretório está com permissão de escrita.

 

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By AlexandrePrezzi
      Estou fazendo um formulário onde tenho que enviar um upload de videos .... fiz o mesmo procedimento para imagens e funciona perfeitamente... porem para vídeo nao...
       
      Código do  Formulário
       
      <form id="Form_AddVideos" class="form-group" method="POST" action="javascript:func()" enctype="multipart/form-data"> <input type="hidden" id="ACAO_VIDEO" name="ACAO_VIDEO" value="INSERT_NEW_VIDEOS" /> <input type="hidden" id="ipv100_video" name="ipv100_video" value="<?php echo $_GET['id_pv100']; ?>" /> <input type="hidden" id="tipo_video" name="tipo_video" value="V" /> <div class="container"> <div class="row"> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="form-group"> <label for="add_videos">Adicionar Fotos</label><br /> <input class="form-control form-control-sm" type="file" name="video[]" multiple="multiple" id="video" accept="video/*" /> </div> </div> </div> <button type="submit" id="btn_Gravar_video" title="Gravar" name="wGravar_video" class="btn btn-primary tp" value="TELA"> <i class="fa fa-save"></i> Gravar </button> <button type="button" class="btn btn-danger tp btn_fechar_modal_cliente" title="Cancelar" data-dismiss="modal" style="margin-left: 5px;"> <i class="fa fa-times"></i> Cancelar </button> </div> </form>  
      Script Ajax para enviar os dados
       
      <script type="text/javascript"> $(document).ready(function (e) { $("#Form_AddVideos").on('submit',(function(e) { e.preventDefault(); $.ajax({ enctype: 'multipart/form-data', url: "src/controller/request_videos.php", type: "POST", data: new FormData(this), contentType: false, cache: false, processData:false, beforeSend : function() { //$("#preview").fadeOut(); $('#resultErroVid').html("<img src='img/aguarde.gif' />"); }, success: function(g) { var objVid = JSON.parse(g); if (objVid.rst){ if ($('#ACAO_VIDEO').val() === 'INSERT_NEW_VIDEOS'){ document.getElementById('wOKDivVid').style.visibility = "visible"; document.getElementById('wOKDivVid').style.display = "block"; $('#resultOKVid').html(objVid.msg); setTimeout(function(){ document.getElementById('wOKDivVid').style.visibility = "hidden"; document.getElementById('wOKDivVid').style.display = "none"; $(".modal_proprio_videos").hide(); document.location.reload(true); }, 1200); } else { document.getElementById('wErrorDivVid').style.visibility = "visible"; document.getElementById('wErrorDivVid').style.display = "block"; $('#resultErroCli').html(objVid.msg); setTimeout(function(){ document.getElementById('wErrorDivCli').style.visibility = "hidden"; document.getElementById('wErrorDivCli').style.display = "none"; $(".modal_proprio_imagens").hide(); document.location.reload(true); }, 1200); } } else { //fEnableBtn(Form_Cli_GQPS); document.getElementById('wErrorDivVid').style.visibility = "visible"; document.getElementById('wErrorDivVid').style.display = "block"; $('#resultErroVid').html(objVid.msg); setTimeout(function(){ document.getElementById('wErrorDivVid').style.visibility = "hidden"; document.getElementById('wErrorDivVid').style.display = "none"; $(".modal_proprio_imagens").hide(); document.location.reload(true); }, 2000); }//fim do if/else objCli } }); })); }); </script> Arquivo php request .....(pedaço)
       
      if (@$_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){ require_once '../model/setaqueryGQPS.php'; require_once '../model/conecta.php'; //require_once '../model/zConst_GQPS.php'; //require_once '../../../zLib.php'; $wEMP = '001'; $wPV100 = $_POST['ipv100_video']; $video = $_FILES['video']; if ($_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){ //require_once '../model/zConst_GQPS.php'; if($video != ''){ O que acontece que no $_FILES,  o arquivo não esta sendo salvo na pasta  temporaria..... está vindo vazia essa informação, conforme mostro na imagem ....
       
      Alguem sabe me dizer onde ta o problema ? 
       
      Tenho um procedimento bem semelhante para imagens e funciona perfeitamente.
       
       
       

    • By fideles
      Fala pessoal, tudo tranquilo?
       
      Tem uma dúvida e gostaria de uma sugestão.
      Tenho um codigo que faz um upload de um arquivo CSV, gostaria que ao importar ele puxe os dados da descrição em outro banco de dados, seria possivel ?
       
      O codigo abaixo seria, o usuario monta a planilha e coloca somente o codigo do item e a quantidada e faz o upload, mais dessa forma o codigo grava no banco somente o que tem na planilha.
       
      O que precisaria seria,  o usuario monta a planilha e coloca somente o codigo do item e a quantidada e faz o upload e nesse momento do upload, ele puxe a descrição e unidade do item cadastro em outra tabela antes de gravar o processo abaixo. 
       
      <?php //Aciona o codigo somente se clicar no botão enviar if($_POST){ //esconde os erros do navegador error_reporting(E_ALL ^ E_NOTICE); // inclui a conexão include_once('../configuracoes/conexao/config_4.php'); //cria as varias para pegar o arquivo e o nome do arquivo $arquivo = $_FILES["file"]["tmp_name"]; $nome = $_FILES["file"]["name"]; $ext = explode(".", $nome); $extencao = end($ext); //cria uma condição para validar a extenção do arquivo. if($extencao != "csv"){ echo "<script>alert('Extens\u00e3o inv\u00e1lida, verifique o arquivo.');</script>"; } else{ //se a estensao for valida, executa a função abaixo $objeto = fopen($arquivo, 'r'); //abre o arquivo e le os dados while(($dados = fgetcsv($objeto, 1000, ",")) !== FALSE )//faz um loop em todo arquivo. { $item = $dados[0]; $quantidade = $dados[1]; //exibe os dados na tela do usuario echo "<table border='1'>"; echo "<tr>"; echo "<td width='250px'>$nome</td>"; echo "<td width='500px'>$email</td>"; echo "</tr></table>"; $result = mysql_query("INSERT INTO emails (item, quantidade) VALUES('$nome','$email')"); } if($result){ echo "Dados inseridos com sucesso"; } else{ echo mysql_error();//"Erro ao inserir os dados"; } } } ?>  
    • By maurohpg
      Estou fazendo uma gravação dos dados no banco e ao mesmo tempo eu faço upload de um arquivo pdf. 

      Acontece que a gravação do dados está ok, grava o nome do arquivo pdf no banco, mas não grava o arquivo pdf na pasta, e não me retorna nenhum erro, segue no script ou no log.
       
      Alguém pode dar uma luz no que estou fazendo errado? É bem simples, nas não encontro o erro.
       
      <?php include("../config.php"); include("verifica.php"); include("../tags.php"); $acao = strip_tags( $_GET['acao'] ); /* Informa o nível dos erros que serao exibidos */ error_reporting(E_ALL); /* Habilita a exibiçao de erros */ ini_set("display_errors", 1); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-2\"?".">"; ?> <title><?php echo $nomeL ?></title> <link href="css/css.css" rel="stylesheet" type="text/css" /> <!-- desenvolvido por Mauro Garcia --> <script type="text/javascript" src="../js/funcoes.js"></script> <script src="ckeditor/ckeditor.js"></script> </head> <body> <?php include("topo.php"); ?> <div id="content_interno"> <?php include("menu.php"); ?> <div id="admin"> <table width="774" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="82%"><p>INSERIR REGISTRO</p></td> <td width="18%"><a href="privacidade_add.php"><br /> </a></td> </tr> </table> <br /> <br /> <?php if( empty( $acao ) ) { ?> <form name="add" action="privacidade_add.php?acao=add" method="post" enctype="multipart/form-data"> <div class="form_add"> <table width="650" border="0" align="left" cellpadding="5" cellspacing="5"> <tr> <td colspan="4"><strong>Mostrar no site</strong></td> </tr> <tr> <td colspan="4"><select name="ativo"> <option value="1">Sim</option> <option value="0">N&atilde;o</option> </select></td> </tr> <tr> <td height="5" colspan="4"><img src="img/spacer.gif" width="5" height="5" /></td> </tr> <tr> <td colspan="4"><strong>C&oacute;digo, se n&atilde;o houver deixe em branco</strong></td> </tr> <tr> <td colspan="4"><input name="codigo" type="text" id="codigo" onfocus="dentro(this, 'Código')" onblur="fora(this, 'Código')" value="Código" size="20" maxlength="10"/></td> </tr> <tr> <td colspan="4"><img src="img/spacer.gif" width="5" height="5" /></td> </tr> <tr> <td colspan="4"><input name="hora" type="text" id="hora" onfocus="dentro(this, 'Data')" onblur="fora(this, 'Data')" value="Data" size="20" maxlength="10"/> dd/mm/aaaa</td> </tr> <tr> <td colspan="4"><img src="img/spacer.gif" width="5" height="5" /></td> </tr> <tr> <td colspan="4"><strong>T&iacute;tulo (At&eacute; 200 caracteres): </strong></td> </tr> <tr> <td colspan="4"><input name="nome_imovel" type="text" id="nome_imovel" onfocus="dentro(this, 'Título')" onblur="fora(this, 'Título')" value="T&iacute;tulo" size="80" maxlength="200"/></td> </tr> <tr> <td colspan="4"><img src="img/spacer.gif" alt="" width="5" height="5" /></td> </tr> <tr> <td colspan="4"><strong><font color="#FF0000">N</font><font color="#FF0000">&atilde;o esquecer de selecionar</font></strong></td> </tr> <tr> <td width="174"><select name="id_negocio_tipo"> <option value="">Categoria</option> <?php $sql = mysql_query("SELECT id, tipo FROM negocio_tipo ORDER BY tipo ASC"); while( $linha = mysql_fetch_array( $sql ) ){ echo '<option value="' . $linha['id'] . '"> ' . $linha['tipo'] . '</option>'; } ?> </select></td> <td width="192">&nbsp;</td> <td width="184">&nbsp;</td> <td width="184">&nbsp;</td> </tr> <tr> <td colspan="4"><img src="img/spacer.gif" alt="" width="5" height="5" /></td> </tr> <tr> <td colspan="4"><strong>Resumo</strong></td> </tr> <tr> <td colspan="4"><textarea name="msg" id="msg" cols="60" rows="5" onfocus="dentro(this, 'Texto')" onblur="fora(this, 'Texto')"></textarea></td> </tr> <tr> <td colspan="4"><img src="img/spacer.gif" alt="" width="5" height="5" /></td> </tr> <tr> <td colspan="4"><strong>PDF</strong></td> </tr> <tr> <td colspan="4"><input id="fakeupload" name="fakeupload" class="fakeupload" type="text" /> <input id="arquivo" name="arquivo" class="foto" type="file" onchange="this.form.fakeupload.value = this.value;" /></td> </tr> <tr> <td><a href="javascript:document.add.submit();"><img src="img/bt_gravar.png" width="74" height="26" /></a></td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </table> </div> </form> <?php } // fim da açao EMPTY if( $acao == 'add') { extract( $_POST, EXTR_OVERWRITE); // extrai os dados do POST, transformando os indices em nomes. Sobrescreve as variaveis existentes, se houver $sql1 = mysql_query("SELECT id FROM privacidade WHERE codigo='$codigo'"); $ttlCodigo = mysql_num_rows($sql1); if( !empty( $codigo ) && $ttlCodigo > 0){ echo "<script language='JavaScript'> alert('Código duplicado, informe outro código'); window.location.href='javascript:history.go(-1)' </script>"; exit; } ///////////////// TRATA if( !empty( $arquivo['name'] ) ) { if(preg_match( '/\.(pdf)+$/', $arquivo["type"])){ echo "<script language='JavaScript'> alert('Arquivo em formato inválido! Formato aceito: PDF'); window.location.href='javascript:history.go(-1)' </script>"; exit; } // Verifica tamanho do arquivo if($arquivo["size"] > 200000000) { echo "<script language='JavaScript'> alert('A imagem deve ser de no máximo 2020680 bytes'); window.location.href='javascript:history.go(-1)' </script>"; exit; } preg_match("/\.(pdf)+$/", $arquivo["name"], $ext); $imagem_nome = md5(uniqid(time())) . "." . $ext[1]; $imagem_dir = "../uploads/pdf/" . $imagem_nome; }else{ // se nao for informado nenhum arquivo echo "<script language='JavaScript'> alert('A imagem da notícia esta faltando'); window.location.href='javascript:history.go(-1)' </script>"; exit; // Repassa a variável do upload $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; // Caso a variável $arquivo contenha o valor FALSE, esse script foi acessado // diretamente, então mostra um alerta para o usuário if(!$arquivo) { echo "Não acesse esse arquivo diretamente!"; } // Imagem foi enviada, então a move para o diretório desejado else { // Diretório para onde o arquivo será movido $imagem_dir = "../uploads/pdf/"; // Move o arquivo // Lembrando que se $arquivo não fosse declarado no começo do script, // você estaria usando $_FILES["arquivo"]["tmp_name"] e $_FILES["arquivo"]["name"] if (move_uploaded_file($arquivo["tmp_name"], $imagem_dir . $arquivo["name"])) { echo "Arquivo Enviado com sucesso!"; } else { echo "Erro ao enviar seu arquivo!"; } } } $sql = mysql_query("INSERT INTO privacidade (id_negocio_tipo, codigo, foto_exibicao, msg, ativo, nome_imovel, hora) VALUES ('$id_negocio_tipo','$codigo','$imagem_nome','$msg','$ativo','$nome_imovel','$hora')") or print(mysql_error()); $ultimo_id = mysql_insert_id(); echo '<div id="sucesso"><font color="#5a5a5a" size="3" face="Arial, Helvetica, sans-serif"><font color="#009900" size="4"><b>Registro inserido com sucesso</b></font><br /><br /> <a href="privacidade_add.php">CADASTRAR OUTRO</a><br><br> <a href=privacidade.php>clique aqui para voltar</a> </font></div>'; } ?> </div> </div> <script> // This call can be placed at any point after the // <textarea>, or inside a <head><script> in a // window.onload event handler. // Replace the <textarea id="editor"> with an CKEditor // instance, using default configurations. CKEDITOR.replace( 'msg' ); </script> <?php include("rodape.php"); ?> </body> </html>  
    • By AlexandreHenrique
      Olá pessoal. preciso de uma ajuda com o meu projeto de upload.
      O projeto de upload roda no IIS + Php;
      Tenho um script que ta enviando  o arquivo para o diretório correto.
      O problema é que ao tentar acessar esse arquivo via URL, o anexo não abre  e exibe a mensagem abaixo.
       

      Notei que o arquivo au cair no DIR, ele entra sem permissões (vi em propriedades), se eu editar o mesmo alterando as permissões, ele carrega pela url do meu site.
      Quero que o arquivo enviado pelo script caia no DIR correta com as devidas permissões pra eu poder ler no navegador via URL;
       
      Já tentei resolver de toda forma mas nao tive sucesso;.
      No Apache isso é mais simples, mas no IIS ta complicado;
       
       
       
      Alguem pode me dá uma dica?
    • By Artur Mendonça
      Olá amigos.
      Estou a tentar fazer um sistema para upload de vídeos para criar uma base de dados.
      Já fiz um sistema para imagens e funciona na perfeição. Adaptei este código para upload de vídeo e recebo as mensagens de erro:
      Os (...) foi que coloquei para encurtar o caminho.
       
      Código da página para seleção e upload do vídeo:
      <?php session_start(); include_once "../conexao.php"; $agid = $_REQUEST['id']; $sql = "select * from tbl_album where albumid='$agid'"; $rs_result = mysqli_query($conectar, $sql); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Página Administrativa"> <meta name="author" content=""> <link rel="icon" href="imagens/imgadmin.ico"> <title>Administrativo</title> <link rel="stylesheet" href="../css/bootstrap.min.css"> <link rel="stylesheet" href="../css/style.css"> </head> <?php $agid = $_REQUEST['id']; $sql = "SELECT * FROM tbl_albumvideo WHERE albumid='$agid'"; $rs_result = mysqli_query($conectar, $sql); while ($row = mysqli_fetch_assoc($rs_result)) { $aname = $row["name"]; } ;?> <body> <?php include_once "admmenu.php"; ?> <div class="container theme-showcase" role="main" Style='margin-top: 100px'> <h1 class="page-header"><br />Adicionar vídeo</h1> <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> <div class="panel-heading"> Por favor selecione o vídeo </div> <div class="panel-body"> <div class="row"> <div class="col-lg-6"> <form action="processa/proc_cad_albumvideo2.php?id=<?php echo $agid ?>" method="POST" enctype="multipart/form-data" name="upload"> <div class="form-group"> <input type="file" name="arquivo" id="arquivo" value="arquivo"/> </div> <div class="form-group"> <input name="enviar" class="btn btn-primary" type="submit" id="enviar" value="Enviar"> </div> <div class="alert alert-danger" role="alert" style='margin-top:20px'> Esta operação poderá ser demorada, dependendo do tamanho do ficheiro a enviar e das suas condições de ligação à rede. <br/> <br/> Por favor seja paciente e não reinicie a página! </div> </form> </div> </div> </div> </div> </div> </div> </div> <script src="../js/jquery-3.2.1.slim.min.js"></script> <script src="../js/popper.min.js"></script> <script src="../js/bootstrap.min.js"></script> </body> </html> E este é o código para efetuar o upload e gravação na BD
      <?php ini_set('display_errors', 1); ini_set('display_startup_erros', 1); error_reporting(E_ALL); session_start(); include_once "../../conexao.php"; $adate = date('Y-m-d H:i:s'); $status = 'process'; $arquivo = $_FILES['arquivo']; $albumid = $_REQUEST['id']; $pasta = '../../videos/'; $resulta = mysqli_query($conectar, "SELECT * FROM tbl_albumvideo WHERE albumid='$albumid'"); $linhas = mysqli_fetch_assoc($resulta); $local = $linhas["local"]; $arqnome = $_FILES['arquivo']['name']; $ano = $linhas['ano']; $extensao = @end(explode('.', $arqnome)); $novonome = time() . "-" . rand() . "." . $extensao; $tmp = $_FILES['arquivo']['tmp_name']; $file = $pasta . $novonome; if (move_uploaded_file($tmp, $file)) { $query = mysqli_query($conectar, "INSERT INTO videos (video_name, local, ano,aid) VALUES ('$novonome','$local', '$ano', '$albumid')") or die(mysqli_error($conectar)); if ($query) { echo "<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://(...)/addgalleryvideo.php'> <script type=\"text/javascript\"> alert(\" O vídeo foi guardado com sucesso.\"); </script>";} else {echo " <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://(...)/addgalleryvideo.php'> <script type=\"text/javascript\"> alert(\" O Vídeo não foi guardado.\"); </script> "; } } Linha 14 : $arquivo = $_FILES['arquivo']; 
      Linha 21: $arqnome = $_FILES['arquivo']['name'];
      Linha 27: $tmp = $_FILES['arquivo']['tmp_name'];
       
      Desde já muito obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.