Jump to content
jmggames

gerar link após upload

Recommended Posts

boa noite, estou com um script de upload de imagens, que após fazer o upload, ele finaliza com uma miniatura da imagem que acabou de ser enviada.

porem alem de mostrar a miniatura da imagem, eu gostaria que mostrasse também um link gerado do upload da imagem, para que a pessoa que fez o upload, pegue o link e guarde para poder chegar ate a imagem futuramente.

eu gostaria que o link fosse gerado logo após a mensagem "imagem enviada com sucesso!"  alguém pode me ajudar?

script do site:

 

<html>
<head>
 <title>Upload de imagens</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
 <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
</head>

<body>
<div class="container">
<h2><strong>Envio de imagens</strong></h2><hr>

<form method="POST" enctype="multipart/form-data">
  <label for="conteudo">Enviar imagem:</label>
  <input type="file" name="pic" accept="image/*" class="form-control">

  <div align="center">
    <button type="submit" class="btn btn-success">Enviar imagem</button>
  </div>
</form>
 
 <hr>
 
 <?php
 if(isset($_FILES['pic']))
 {
    $ext = strtolower(substr($_FILES['pic']['name'],-4)); //Pegando extensão do arquivo
    $new_name = date("Y.m.d-H.i.s") . $ext; //Definindo um novo nome para o arquivo
    $dir = './imagens/'; //Diretório para uploads
 
    move_uploaded_file($_FILES['pic']['tmp_name'], $dir.$new_name); //Fazer upload do arquivo
    echo '<div class="alert alert-success" role="alert" align="center">
          <img src="./imagens/' . $new_name . '" class="img img-responsive img-thumbnail" width="200"> 
          <br>
          Imagem enviada com sucesso!
          <br>
          <a href="exemplo_upload_de_imagens.php">
          <button class="btn btn-default">Enviar nova imagem</button>
          </a></div>';
 } ?>

</div>
<body>
</html>

 

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 marcossantana10
      Opa, to precisando muito de uma ajuda: estou tentando fazer o upload de arquivos de um app hibrido (rodando android) para um servidor. O código abaixo é executado sem erro, mas o upload não acontece. Será que alguem tem ideia de onde pode estar o erro?
       
      var images = []; var $imagesDiv; document.addEventListener("deviceready", init, false); function init() { $("#addPicture").on("touchend", selPic); $imagesDiv = $("#images"); $("#uploadPictures").on("touchend", uploadPics); } function selPic() { navigator.camera.getPicture(function(f) { var newHtml = "<img src='"+f+"'>"; $imagesDiv.append(newHtml); images.push(f); if(images.length === 1) { $("#uploadPictures").removeAttr("disabled"); } }, function(e) { alert("Error, check console."); console.dir(e); }, { quality: 50, sourceType: Camera.PictureSourceType.PHOTOLIBRARY, destinationType: Camera.DestinationType.FILE_URI }); } function uploadPics() { alert("Ok, going to upload "+images.length+" images."); var defs = []; var fd = new FormData(); images.forEach(function(i) { alert('processing '+i); var def = $.Deferred(); window.resolveLocalFileSystemURL(i, function(fileEntry) { alert('got a file entry'); fileEntry.file(function(file) { alert('now i have a file ob'); console.dir(file); var reader = new FileReader(); reader.onloadend = function(e) { var imgBlob = new Blob([this.result], { type:file.type}); fd.append('file'+(images.indexOf(i)+1), imgBlob); fd.append('fileName'+(images.indexOf(i)+1), file.name); def.resolve(); }; reader.readAsArrayBuffer(file); }, function(e) { alert('error getting file', e); }); }, function(e) { alert('Error resolving fs url', e); }); defs.push(def.promise()); }); $.when.apply($, defs).then(function() { alert("all things done"); var request = new XMLHttpRequest(); request.open('POST', 'url', true); request.send(fd); }); } Do lado do servidor, onde eu deveria receber a requisição e upar os arquivos, está conforme código abaixo:
      <?php header("Access-Control-Allow-Origin: *"); $imgFileName=date("Y").date("m").date("j")."_".$_POST['index']."_".rand(1000,9999).".jpg"; if(move_uploaded_file($_FILES['file']['tmp_name'], "anuncios/".$imgFileName)){ echo "upload ok"; //or anything you need } ?>  
    • By joelzsbit
      Pessoal implementei o link (https://xkeshi.github.io/image-compressor/) no meu site para fazer a compressão de imagens, porem preciso que essa imagem seja salva no banco.
      Não estou conseguindo pegar essa imagem comprimida e enviar para um arquivo salvar.php que é o responsável para salvar no banco.
      A imagem comprimida fica nesse bloco:
      <div class="w-100 text-center" v-if="outputURL"> <img class="mw-100" :src="outputURL" :alt="output.name"> <div class="mt-2"> <a class="btn btn-sm btn-blocks btn-outline-primary mt-2" :download="output.name" :href="outputURL" title="Download the compressed image">Download</a> </div> </div> Pensei em colocar um botão de salvar ali no lugar do Download, porem como que vou enviar os dados da imagem que estão em javascript para um arquivo salvar.php ?
    • By avelar.avelar
      Turma esta dando erro neste item em negritom, estou tentando , pegar um pdf que esta convertido em base64 e mandando ele gerar o arquivo e gravar numa pasta determinada com um nome, alguem poderias me ajudar? urgente.  Ovbrigado
       
       
      TrablheController.php
       
      public function post(Request $request)
          {
              $rules = [
                  'nome' => 'required|string',
                  'data_nascimento' => 'required|date',
                  'email' => 'required|string',
                  'cpf' => 'required|string',
                  'curriculo' => ['required','mime:/application\/(?:docx||pdf\+xml);base64,.+/'],
              ];
       
              $validator = Validator::make(request()->json()->all(), $rules);
       
              if ($validator->fails()) {
                  return response()->json($validator->errors()->toArray(), 422);
              }
       
              $vagas = Vagas::select('id')->firstOrFail();
       
              $data = $request->json()->all();
       
              $fileB64 = isset($data['curriculo']) ? $data['curriculo'] : false;

              unset($data['curriculo']);
       
              $trabalheconosco = new TrabalheConosco;
       
              foreach (array_keys($rules) as $key) {
                  if (array_key_exists($key, $data)) {
                      $trabalheconosco->{$key} = $data[$key];
                  }
              }
              $trabalheconosco->save();
       
              if ($fileB64) {
                  $trabalheconosco->curriculo = $this->saveFileB64($fileB64, 'images/curriculos', $trabalheconosco->id);
                  $trabalheconosco->save();
              }
       
              $vagas->TrabalheConosco()->save($trabalheconosco);
       
              return response()->json(['data' => $trabalheconosco->toArray()], 201);
          }
       
      Controller.php

          public function saveFileB64($fileB64, $path = '', $id = null): string
          {
              $chunkf = explode(';base64,', $fileB64, 2);
              $chunkf[0] = str_replace('data:', '', $chunkf[0]);
              if (!isset(self::MIMES[$chunkf[0]], $chunkf[1])) {
                  return null;
              }
              $extension = self::MIMES[$chunkf[0]];
              $fileBin = base64_decode($chunkf[1]);
              $time = time();
              $pathName = null;
              do {
                  $pathName = "$path/{$id}_{$time}_"
                      . abs(crc32(uniqid('f', true))) . $extension;
              } while ($this->storage->exists($pathName));
              $this->storage->put(file_put_contents($pathName, $fileBin));
              return $pathName;
          }
       
      ERROR NO INSOMNIA ( 500 INTERNAL SERVER ERROR)
    • By FabianoSouza
      Pessoal, estou garimpando alguns códigos para fazer upload sem necessidade de componente.
      Notei que em todos esses códigos ocorre um problema: truncamento de caracteres acentuados.
       
      Já pesquisei muito em busca da solução.
      Geralmente sugerem para colocar esse código no topo da página
      Response.AddHeader "Content-Type", "text/html;charset=UTF-8" 'caractéres em PT-BR Response.ContentType = "text/html" Response.CharSet = "UTF-8" Já fiz isso...mas não resolveu.
       
      Alguém pode ajudar?
       
      Grato.
    • By GiovannaRamos
      Olá pessoal,  gostaria de adicionar outra função ao meu botão 'Finalizar10()' ,  por enquanto ele faz a exportação dos dados da minha 'tabela' para um Excel e salva na pasta downloads do meu computador,  alguém sabe se teria alguma forma fazer esse arquivo gerado (Excel) ao invés de  fazer download, fazer o upload no caminho do meu servidor?
      function Finalizar10() { $(document).ready(function Finalizar() { $("#btnExport").click(function exportar (e) { e.preventDefault(); var blobData = new Blob(['\ufeff'+tabela], { type: 'application/vnd.ms-excel' }); var url = window.URL.createObjectURL(blobData); var a = document.createElement('a'); a.href = url; a.download = codigo; a.click(); }); }); }  
×

Important Information

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