Jump to content

Omar~

Members
  • Content count

    585
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by Omar~

  1. O principal foco da orientação a objeto é reaproveitamento, se não reaproveitar tudo a maior parte do código é reaproveitado. Ou seja, se escrevemos um código em um arquivo, logo não usamos em outro e isso está bem longe da orientação. Quando criamos var's em um arquivo e precisamos dessas variáveis em outro, obrigatoriamente temos que incluir o arquivo que gerou a ou as variáveis antes de usar-las. Assim sendo quando isso não acontece desencadeia uma série de erros, que é comum quando não há verificação do dados. Aqui vemos que 4 variáveis não foram definidas antes de usar-las: Ou seja elas não existem, e se não existem não geram o construtor que gera outro erro que desencadia mais erros até o último onde o fetch_array não pode ser executado em dados que NÃO EXISTEM. Agora só explicando, uma coisa é variável outra coisa é constante... Isso são variáveis: Logo o uso seria assim mesmo: Agora isso são constantes: Então seu uso seria assim: Então quando se deve usar variáveis e quando se deve usar contantes? A preferência sempre deve ser dada a variáveis, pois consomem menos do sistema para serem geradas, porém como dito sempre devem ser re-incluídas quando necessárias. Já as contantes são um caso a parte pois enquanto o http request não muda elas existem, ou seja por exemplo se no index eu crio uma constante ou incluo um arquivo que a cria, qualquer arquivo dentro daquele endereço url reconhece essa constante não sendo necessária a recriação e re-inclusão desse dado. Um exemplo prático está nessa classe que criei para envio de e-mails: Se notar a o uso de algumas constantes como MAILSLL/ MAILHOST etc... que não são criados dentro do escopo da classe. Voltando ao assunto da orientação a objeto. Pois até agora o apresentado no post está muito longe de ser OO. Pois para termos um mínimo nesse conceito, seria você possuir uma classe só para conexão essa classe por suas vez teria pelo menos dois métodos; um para construir a conexão outro para devolver a aplicação o objeto da conexão. Outra classe para leitura que possuem método para: Chamar a conexão, outro para verificar dados antes da consulta, outro para consultar, outro para modular a consulta, outro para consultar, outro para verificar os resultados, outro para modular os resultados quando existem, outro para devolver os resultados se existirem. E se serve de exemplo veja essas duas classes que criei para conexão outra para leitura de dados Obs.: Uso PDO (P = "php" / D = "data" / O = "object") Ou seja orientado a objeto por natureza. Connect: Select: Usando:
  2. Omar~

    Função de retorno não retorna nada

    Não atribua o valor da variável no retorno, primeiro você deve definir o valor só então retornar a variável. E pode ser útil ter uma condição onde não se tem um valor esperado, então você pode fazer assim: Ou assim, que dar no mesmo:
  3. Omar~

    Exibir pesquisa do banco gradativamente

    Te dar um exemplo simples aqui fica difícil. Mas posso lhe apontar em qual direção seguir. Isso normalmente é conhecido como paginação de resultados. Em consultas no banco usamos vínculos de resultados que são LIMIT e OFFSET. O limit determina quantos resultados são para mostrar, digamos então que a consulta possa ter 100 resultados mas o limit na estrutura da query é 10, somente esses 10 resultados são trazidos. Já o offset determina onde deve começar a os resultados. Digamos que uma query irá trazer 500 resultados mas o offset é 80, isso quer dizer que os 80 primeiros resultados são ignorados mostrando apenas os 420 restantes. Ou seja a combinação disso cria a paginação, ou seja temos as ferramentas para dizer onde começar a trazer os resultados e quantos resultados queremos exibir.
  4. Omar~

    definir input de array

    var qtdLinhas = $("#qtdLinhas").val(); Retorna sempre 1 Ou seja é um elemento #ID e só pode haver 1 por página. Assim sendo um loop for só trará um único resultado Isso porque quando se entra nessa capsula com jquery $() você está involuntariamente executando tudo isso: document.querySelector() // Return TRUE por jquery document.querySelectorAll() // Return FALSE por jquery document.getElementById() // Return FALSE por jquery document.getElementsByClassName() // Return FALSE por jquery document.getElementsByName() // Return FALSE por jquery document.getElementsByTagName() // Return FALSE por jquery document.getElementsByTagNameNS() // Return FALSE por jquery document.getFeature() // Return FALSE por jquery document.getOwnPropertyNames() // Return FALSE por jquery
  5. Omar~

    Desenvolver botão para executar o campo no mysql

    <a href="endereco/arquivo.php?informacao=mostra_a">Exemplo 1</a> <a href="endereco/arquivo.php?informacao=mostra_b">Exemplo 2</a> <?php if (isset($_GET['informacao'])) { if ($_GET['informacao'] == 'mostra_a') { // Se for A faça isso echo "A"; } else if ($_GET['informacao'] == 'mostra_b') { // Ou se for B faça isso echo "B"; } else { // Nem A nem B } } else { echo "????"; }
  6. Omar~

    Não funciona os script para Alterar e Excluir registros

    Só para deixar claro. Quando se vai submeter um formulário por função javascript, você deve remover o comportamento padrão do browser sobre aquele evento. Existem duas formas de se fazer isso. 1 - Você deve adicionar o comando onsubmit direto na tag do form exemplo: <form onsubmit="return false;"> Isso quer dizer que não impota quantos botões haja dentro do form ele nunca será validado por inline, sendo necessário eventos de script para acionar-lo. Ou nesse mesmo termo chamar diretamente uma função para o evento <form onsubmit="return MinhaFuncao();"> Sendo então a função que vai tratar do retorno var retorna = null; // se fosse true retornava function MinhaFuncao() { if (retorna) { return true; // O form é submetido } else { return true; // O form permanece sem submeter } } 2 - Que pode ser um caso de uma função depender de outra ou outras funções/condições, tratamos do evento diretamente no script, bastando informar qual elemento é o gatilho que dispara o evento. Exemplo <form id="identificador"> <!-- Conteúdo --> </form> <script> var gatilho = document.getElementById('identificador'); gatilho.addEventListener('submit', alguma_funcao, false); </script> Nesse caso é sempre a função quem vai tratar do retorno. Que pode ser o pelo termo return false; ou por prevenção do evento padrão function alguma_funcao(evento) { evento.preventDefault(); // Remove o comportamento padrão, seja qual for o evento de origem console.log(evento); // Dados de quem disparou o evento é mostrado no console do navegador } Enfim, é só para esclarecer sobre o assunto de form X script. @TeixeiraRamos Fiz um exemplo para você funcional, porém, como odeio jquery e acho que ele não serve para bost... nenhuma. Fiz só com o bom e prático javascript. E também usei um script para modal meu que também é puro e simples javascript. Fica a dica, antes de completar uma ação porque esse é o erro de 99.9% das pessoas é não depurar os valores antes da validação, quer dizer que antes de fazer um updade, submit etc.. em um DB. Teste/ veja/ analise com cuidado os dados que você está enviando, só quando tudo estiver de acordo é que você começa a transcrever o resto. O mesmo vale para formatações HTML.
  7. Omar~

    Exibir se dado já existe dentro do formulário

    Não seria mais fácil, rápido, pratico simples, eficiente ... bla bla bla. Só usar os recursos nativos do browser? Ou seja no caso só usar o HTML e javascript. Criei um exemplo aqui para o telefone, mas somente aceita telefones válidos do brasil, fmz?! Na verdade só o pattern já é o suficiente, pois ele passa uma expressão regular para somente aceitar um telefone válido, então enquanto não digitar o telefone corretamente o input é considerado inválido. O javascript é só para dar um help para escrever o numero com formatação "certinha" Não deixe de fazer a verificação desses campo quando submeter dos dados, lembre-se que qualquer pessoa pode abrir o inspetor e modificar a estrutura do jeito que quiser
  8. Omar~

    Argumento inválido fornecido para foreach

    É porque o método não recebeu nenhum índice de array 'token' De qualquer forma me parece que colocou o método incompleto, mas enfim isso não mudaria a questão. Outra questão que não tem haver você tem o parâmetro "$purchase" que não serve para nada. Também o parâmetro "$args" não é definido como array. No mais deveria ser assim (Uma vez que não sei como é o método completo) public function activate($args = []) Também a array $data não possui o índice "item" para quebra-la em multi, logo isso também é não está muito de acordo: $data['item'][$key] = $value; Por fim certifique-se que o método está recebendo uma array $arr = [ 'token' => 'Esse é o token', 'outro' => 'Outra coisa no array' ]; $objeto->activate('alguma coisa', $arr);
  9. Omar~

    Ajuda com Javascript - recuperar valores gerados por loops

    Bem, como eu pensei, não havia necessidade de obter dados dos elementos gerados em sua criação. Também seria desnecessário, uma vez que serão dados temporários sem utilidade a longo prazo. Acontece aqui que temos de passar os valores de cada input para outra página, podemos usar um form, que ao submeter leva os dados para a próxima questão. Ao qual saímos de javascript e passamos para linguagem do servidor no caso do meu exemplo o PHP. Efim, o conceito final da aplicação deixo a cargo de você, hora que só vou mostrar um coisa simples de criar os inputs, ao quais não sei quantos serão selecionados pelo usuário, ao ele enviar devo criar novos dados para para cada input que ele gerou. De qualquer forma só conseguiria fazer se tivesse em mão ou pleno conhecimento do resultado final, por isso passo a bola para você e só vou mostrar o que fazer com os dados. Nesse caso geramos os inputs e enviamos a outro arquivo e vemos o que chegou... Veja o que consegue fazer aí, qualquer coisa crie um tópico na sessão de PHP, talvez mais alguém possa lhe orientar melhor.
  10. Omar~

    HTML - Mudanças não são carregadas

    Primeiro. Use o mozilla firefox. (Pois é o único browser que presta para quem vai desenvolver aplicações para web) No canto superior direito de mozilla localize e selecione o botão do "menu". Com as opções abertas vá em "Privacidade e Segurança" Localize e setor "Histórico" então sobre o campo "O mozilla irá..." selecione "Nunca memorizar" Essa ação já será o suficiente para não haver armazenamento de cache pois sempre o mesmo vai iniciar em "Navegação Anônima"
  11. Omar~

    Ajuda com Javascript - recuperar valores gerados por loops

    Aqui temos a criação de uma array var array_maquinas = []; Porém aqui "array_maquinas" é rescrita como variável array_maquinas = novo.name; O que acontece é que a cada volta do loop a variável é definida com novo valor, ao final só vai ser o último valor atribuído; Na pática seria array_maquinas = 'Primeiro valor'; array_maquinas = 'Segundo valor que substitui o primeiro'; // Além que isso é erro de código Mas se são input text, eles não tem valores quando criados, terão somente depois que algo é inserido neles. De qualquer forma não vejo motivo para obter-los/identificar-los quando são criados, mas sim é possível e simples executar essa ação. Você deve isolar a responsabilidade de cada coisa no código, uma é criar outra é identificar. Como assim? De criar então nós já sabemos não é... Então o que deve-se ser feito é detectar quando o loop termina, nesse caso a melhor opção é o while. Então quando o loop parar chamamos outra função que irá capturar os elementos (DEPOIS QUE JÁ FORAM CRIADOS). Aí entra o "X" da questão, o que fazer com esses dados? Qual seria a finalidade de ter-los agora? Podemos obter elementos de diversas formas, se fosse eu optaria quando criar cada elemento adicionar uma class CSS ao elemento, assim sendo basta buscar por elementos que tenha essa class. #EDIT: Sobre o lance do array var loop = 5; var array_maquinas = []; for (var i = 0; i < loop; i++) { array_maquinas[i] = 'Alguma coisa'; console.log(array_maquinas); } Sobre detectar voltas de loop ou até mesmo manipular var parar_no_tres = false; // Coloque "true" e o loop é parado na volta 3 var loop = 5; while (loop != 0) { loop--; //Retimanos 1 da variável a cada volta do loop console.log('Volta atual:' + loop); if (parar_no_tres && loop == 3) { console.log('Ops! Paramos na volta 3'); break; } } if (loop == 0) { console.log('Terminou'); }
  12. Exemplo PHP <?php $enviar_para_javascript = 'blablabla....'; echo ("<script>recebe_do_php('{$enviar_para_javascript}')</script>"); Exemplo Javascript function recebe_do_php(parametro) { console.log('Eu recebi do php essa coisa: ' + parametro); }
  13. Omar~

    Consulta LIKE com restrição

    Estou precisando fazer uma query em uma tabela usando LIKE, mas preciso restringir que somente sejam mostrados os resultados cujo tenha uma das colunas idênticas. Exemplo de query (que está errada!!!) SELECT coluna_A, coluna_B, coluna_C FROM tabela WHERE coluna_A LIKE '%ALGUM_VALOR%' OR coluna_B LIKE '%ALGUM_VALOR%' AND coluna_C = 'tenha esse valor' Então preciso pesquisar existência de "algum valor" dentro das colunas A e B da tabela, mas que sejam retornados apenas resultados cujo a coluna C seja apenas um valor, que pode duplicar de registro para registro, mas na mesma tabela possuem outros registros cujo a coluna C não são iguais. Obs.: Sempre fiz esse processo de filtrar o resultado via PHP, mas queria saber como fazer diretamente na query. #EDIT: Sendo mais específico Digamos registros mais ou menos assim: SELECT coluna_A, coluna_B, coluna_C FROM tabela WHERE coluna_A LIKE '%João%' OR coluna_B LIKE '%João% AND coluna_C = 'Carpinteiro' Ou seja mesmo que que haja mais de um registro, somente é para trazer os resultados cujo a coluna C for carpinteiro
  14. Omar~

    Ajuda com Javascript - recuperar valores gerados por loops

    Olá @Cláudio Rogério Jr tudo bem? Eu havia visto seu tópico antes, mas não deu para sacar o que estava querendo fazer, uma vez que o primeiro código postado não tinha nada haver com o que tinha dito anteriormente. Agora com as informações mais coesas posso responder... Enfim, sobre a questão de gerar inputs através de um select group eu mesmo já ajudei numa questão dessa: https://forum.imasters.com.br/topic/580084-abrir-novo-campo-ao-selecionar-opcao/?tab=comments#comment-2272163 No próprio post você vai achar a solução para isso, uma vez que você criou os elementos, mas não anexou eles (Eles existem só que pertencem só ao objeto document e não a algum elemento node): Deduzo, que você está falando de um formulário, então siga a lógica e coloque os elementos criados dentro de um form, ao qual você vai submeter os dados.
  15. Omar~

    Como utilizar páginas de erro sem o htaccess

    Detectar o tipo de erro com código não dar, mas dar para simular erro. Digamos que eu vá fazer uma consulta em um banco de dados por exemplo, só que propositalmente eu conecto com dados errados, isso seria um erro interno, e isso eu posso subjugar com código. E assim vai com dados que não existem vazios etc... O que dar para personalizar é redirecionamento para erros com htaccess Veja um exemplo, você pode colocar no final da sua regra Se o erro for 404 redireciona para arquivo_qualquer.php ErrorDocument 404 "arquivo_qualquer.php"
  16. É o seguinte tenho duas tabelas aqui estão elas Então eu tenho uma tabela para setores e outra tabela para páginas. As páginas são separadas de acordo com os setores existentes, uso para identificar o setor que a página pertence pela coluna page_sector Que sempre é igual a coluna sector_hash da tabela de setores. Agora ao problema, como eu faria a leitura da tabela de pages, separando as páginas com sua relação ao setor (Agrupando as páginas em seu setor). Certo, mas isso é só usar um ORDER BY, mas preciso regatar o título do setor, que logo está em outra tabela. Mas então simples não é, é só fazer um select nas duas tabelas..... Entra a dificuldade aqui pois estou com dificuldade de renderizar o HTML, a não ser que eu faça algumas gabiarras veja: <?php $selectA = new Select(); $selectA->setQuery('SELECT * FROM sectors'); $selectB = clone $selectA; $selectB->setQuery('SELECT * FROM pages'); foreach ($selectA->result() as $sector) { echo '<br>-Setor : ' . $sector->sector_title . '<br>'; foreach ($selectB->result() as $pages) { if ($pages->page_sector == $sector->sector_hash) { echo '<br>..... Página :' . $pages->page_title . '<br>'; } } echo '<br>- Fim do setor '. $sector->sector_title .'<br>----------------<br>'; } O que no momento com os registros de testes imprime isso: Seria assim mesmo a renderização final, setor por setor e páginas dentro de cada setor correspondente. Mas aí que entra a X da questão. - Precisei acessar 2 vezes o banco // Teria como fazer através de 1 select só? foreach dentro de foreach // Isso é muito esquisito ao meu ver Alguma sugestão de como dar para fazer diferente?
  17. Omar~

    Separar resultados com base de outra tabela

    Valeu Matheus. Passei o dia inteiro pensando em diversas alternativas, algumas até boas, mas nenhuma além do que transcrevi valeu a pena. A melhor alternativa foi fazer uma consulta só usando JOIN então criar 2 arrays, uma só armazenando os resultado ferente ao setor outro array para os dados das páginas. Ao qual de qualquer forma não dava para escapar se varrer os arrays com foreach, além do mais achei que fazer assim seria "ficar inventando moda". O método result apenas devolve um atributo que está armazenando um array com os resultados da consulta public function result() { if ($this->selectData) { return ($this->selectData); } } Ao qual esse atributo está armazenado o fetchAll() do resultado PDO Sim isso seria completamente inviável de ser feito. Então imagina 150 setores e 300 páginas. Ou seja 45.000 consultas de uma só vez. Enfim vou dar como sanado, mesmo porque sempre fiz da forma que falei, só queria saber se tinha alguma outra forma de fazer muito mais, com muito menos
  18. Omar~

    Verificar se um registro já existe

    SELECT username, email FROM cadastro WHERE username = 'joao' OR email = 'mail@mail.com' Ou seja se existir um username joao não cadastra, mas se houver também um mail mail@mail.com; Mesmo que não seja no mesmo registro onde está joão também não cadastra. <?php $conn = new mysqli('endereco_do_banco', 'login', 'senha', 'nome_do_banco_de_dados'); if ($conn->connect_errno) { die("Não conectado por causa disso: %s\n", $conn->connect_error); } else { $sql = "SELECT username, email FROM cadastro WHERE username = '{$username}' OR email = '{$email}'"; $result = $conn->query($sql); if ($result->num_rows) { echo ("Não pode cadastrar porque existe um username ou email cadastrado"); } else { //// ---- Aqui entra o código do cadastro :) } } mysqli_close($conn); Observações. * Detesto esse treco de mysqli, por isso não testei o código acima, mas parece está correto. * Esqueça disso: mysql se for usar use mysqli, melhor use PDO. * Seu código ou o que mostrei não possui nenhum tipo de segurança, pois apenas pega um valor e passa para execução, ou seja nada impede que por exemplo no username venha um código malicioso. Então filtre os dados antes de enviar-los para o banco. Aqui um pequeno guia para começar a manipular o banco de dados de uma forma coerente: https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/
  19. Omar~

    Uma página para vários produtos diferentes

    Começamos pela URL Para esse modelo de url, na lógica temos o endereço/pasta/pasta. Mas podemos nos usufruir em entradas da super global GET exemplo: endereço/?alguma_coisa=algum_valor&outra_coisa=outro_valor e assim por diante. Para a conversão em endereço/algum_valor/outro_valor temos que utilizar o módulo Rewrite do apache. Não vou entrar em muitos detalhes sobre isso, mas pesquise a respeito htaccess e url amigáveis. Desde já lhe deixo um exemplo bem simples de como funciona: https://github.com/Spell-Master/Get-UrlAmigavel Esquecemos para a explicação o uso de url's amigáveis... Digamos então que eu tenha meu site de https://endereco_qualquer Mas eu coloquei um link assim: <a href="https://endereco_qualquer/?sala=sofa"> Então na mais é que na minha aplicação eu consultar esse entrada <?php if (isset($_GET['sala']) && $_GET['sala'] == 'sofa') { // Aqui tomo uma ação seja mostrar um conteúdo, seja incluir um arquivo baseado no valor "sofa" que veio por GET "sala" } No exemplo de uso em url's amigáveis que indiquei o link logo acima. Eu abro arquivos diferentes baseados em informações desse jeito. E se não me fala a memória me parece que coloquei um função que automatiza a inclusão de arquivos. Desculpe mas não sei explicar corretamente. Pois a única forma que tenho de explicar foi essa: Ou seja leia dados, mostre ou inclua arquivos, depende do que for fazer.
  20. Omar~

    Input usando createElement DOM

    document você está se referenciando ao arquivo document.body você está se referenciado ao NodeList <body> do documento appendChild você está inserindo dentro A orientação correta seria: ELEMENTO_PAI.appendChild(ELEMENTO_FILHO) No caso o input é filho do form Em tese seria mais ou menos isso, pois fiquei no básico criando cada coisa em funções separadas para melhor entendimento: Leia a respeito de criação de elementos aqui: https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement Não deixe de dar uma conferida nisso aqui também: https://developer.mozilla.org/pt-BR/docs/Aprender https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide
  21. Omar~

    Uma página para vários produtos diferentes

    Esse tópico deveria está em PHP. Logo também porque colocou a marcação de tag PHP. Isso depende. Depende da arquitetura do projeto, pois você pode sim ter 1 única pagina e essa única página compõe todos os produtos, estou falando de usar banco de dados. Exemplo tenho o arquivo exemplo.php e esse arquivo faz a consulta em um banco de dados com e dependendo da entrada da url ele trás o resultado daquele produto em questão. Ou se for uma organização de sub páginas podemos ter um arquivo que seria o exemplo.php que faz a consulta do tipo de produto, e também quais produtos pertence aquele tipo. Exemplo: na url digamos que entre carros/modelo-compacto. o exemplo.php irá fazer a leitura se existe o produto carros e se existe algum modelo-compacto. E assim sucessivamente. Então digamos que na url seja informado somente "carros", logo o exemplo.php irá listar todos os tipos de produtos vinculados a carros, ou faz outra coisa que depende do comportamento de deseja fazer na aplicação. Sendo mais específico vou usar como exemplo esse fórum precisamente esse seu tópico. temos o endereço url dele, então temos a entrada topic que indica para o php que ele deve ler algo em uma ou mais tabelas, logo então temos outra barra separando qual o resultado que é para mostrar.
  22. Omar~

    fazer php reconhecer a palavra

    $resultado = str_replace($dados , "aprendiz" , strtolower($nome)); Sempre o texto será interpretado em caixa baixa
  23. Omar~

    Input usando createElement DOM

    Simples não? x.setAttribute("name", "NomeQueVoceQuiser"); Eu particularmente daria assim: function myFunction() { var x = document.createElement('input'); x.type = 'text'; x.value = 'Olá mundo'; x.name = 'name_do_input'; document.body.appendChild(x); } Indiferente de como fazer o resultado da no mesmo.
  24. Omar~

    Me ajudem Por favor HTML CSS LI?

    .menu ul li Possui um width muito pequeno para caber o texto Pedidos de Coração Então não especifique uma largura fixa .menu ul li { min-width: 109px; float: left } Ou defina a largura desse seletor usando pseudo-classe .menu ul li:nth-child(5) { width: 200px /* Aumente ou diminua a largura conforme o texto */ }
  25. Omar~

    Forçar download com PHP rename com rand não funciona

    Bisnaguitos, assim como o Matheus já disse, nós não podemos ter acesso a arquivos na máquina do usuário (exceto arquivos temporários do browser). Ou ponto além do mais é que no seu caso você está querendo acessar um arquivo dentro da pasta de downloads do usuário. E mesmo que fosse possível acessar, o próprio usuário poderia ter configurado o download para outro lugar, logo sua lógica não funcionaria. Além do exemplo do Matheus usando PHP, vos deixo aqui como fazer isso usando javascript. Você vai precisar de um arquivo JS que pode ser encontrado em meu GIT: https://github.com/Spell-Master/sm-web/blob/master/downloads/FileTransfer/FileTransfer.min.js Também irá precisar do CSS correspondente (Se quiser personalizar a interface tem que editar esse arquivo) https://github.com/Spell-Master/sm-web/blob/master/downloads/FileTransfer/FileTransfer.min.css Com os arquivo já inseridos no código HTML crie um objeto par o arquivo javascript. <script>var objFile = new FileTransfer();</script> É ideal que somente instancie o script no final do documento. Sendo a variável objFile o objeto da instância. Então para fazer o download basta criar um botão/link e informar o que você quer enviar para o usuário: <button onclick="objFile.download('imagem.jpg', true);">download</button> Obs.: O arquivo FileTransfer.js além de downloads "método download()" você pode fazer uploads também através do método upload(). Mais detalhes leia a descrição dos métodos no arquivo de produção: https://github.com/Spell-Master/sm-web/blob/master/javascript/FileTransfer/FileTransfer.js No caso de enviar com um nome personalizado, sugiro que faça uma cópia do arquivo no servidor com o nome desejado antes de enviar para o usuário. Mas anotei isso (Irei implementar na função em breve)
×

Important Information

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