• 0
Sign in to follow this  
gersonab

upload e renomeio de imagem

Question

tenho um sistema de upload de imagem que esta 99% ok , por um pequeno detalhe não exibo a imagem ao se upar e renomear ( upload e renomeio ok );

O script abaixo é o responsável por upar e mostrar a imagem .

<script type="text/javascript">
 var uploader = "";

 $(function() {
 $("#album").submit(function() {
 // Não continue caso já exista uma instância do multiUploader
 if (typeof uploader == "object")
 return false;

 var data = $(this).serialize(); // Dados do formulário

 $(":text,textarea").attr("disabled", "disabled"); // Desabilitar os textos

  // Envia o formulário via Ajax
        $.ajax({
        type: "POST",
        url: "savealbum.php",
        data: data,
        cache: false,
        dataType: "json",
        success: function(json)
              {
               if (json.id > 0) // Se recebemos um id então o álbum foi salvo com sucesso
                      {
                        // Cria uma instância do multiUpload
                         uploader = new multiUpload('uploader', 'uploader_files', {
                          swf:             'swf/multiUpload.swf',
                          script:          'upload.php',
                          expressInstall:  'swf/expressInstall.swf',
                          multi:           true,
                          maxsize:        1500000, // Allow a maximum of 200 KB per file
                          onError:        function(e) {
                          var div = document.getElementById("progress_"+e.id);
                          div.innerHTML = e.info;
                          div.style.backgroundColor = "#770000";
                          div.style.width = "100%";
                          },
                            data:            json, // Envia a variável json para o script de upload (com o id do álbum)
                            fileDescription: 'JPEG Images|JPEG, GIF and PNG Images',
                            fileExtensions:  '*.jpg;*.jpeg|*.jpg;*.jpeg;*.gif;*.png',
                            onComplete:      function(e)
                                  {
                                    var id = e.data; // O id retornado
                                    var file = $("#file_"+e.id+" div:first").text(); // Nome do arquivo
                                    var ext = file.split('.').pop(); // Extensão do arquivo
                                    var thumb = file.replace('.'+ext, '_thumb.'+ext); // Miniatura
                                    var $caption = $('<div class="caption" rel="'+id+'"><input type="text" name="Caption" value="'+ document.title +'" /></div>');
                                    var $button = $('<input type="button" value="Salvar" class="save" />').click(function() {
                                    $.post("savecaption.php", { id: $(this).parent().attr("rel"), caption: $(this).prev().val() }, function(data){
                                    $caption.html('<strong>'+data+'</strong>');
                                       });
                                         });
                                         $("#file_"+e.id+" div:first").prepend('<img src="uploads/'+thumb+'" width="64" height="48" />')
                                           .append($caption.append($button));
                                                                }
                                                        });

                                                        // Cria o html base para listagem dos arquivos selecionados e barra de progresso
                                                        uploader.createBaseHtml();

                                                        // Mostra as ações (Iniciar Upload, limpar fila)
                                                        $(".upload_actions").show();
                                                }
                                                else // Caso o álbum não seja salvo
                                                {
                                                        $(":text,textarea").removeAttr("disabled"); // Habilita os textos novamente
                                                        alert(json.msg); // Mostra a mensagem de erro retornada
                                                }
                                        }
                                });

                                return false; // Previne o form de ser enviado pela forma normal
                        });

                        $(":text,textarea").removeAttr("disabled");
                });
        </script>
Verificando este trecho ....
var id = e.data; // O id retornado
var file = $("#file_"+e.id+" div:first").text(); // Nome do arquivo
var ext = file.split('.').pop(); // Extensão do arquivo
var thumb = file.replace('.'+ext, '_thumb.'+ext); // Miniatura
e este
$("#file_"+e.id+" div:first").prepend('<img src="uploads/'+thumb+'" width="64" height="48" />')

só que to com um problema que não consigo resolver, quando fazemos o upload das imagens ela aparece em miniatura para ser colocada a legenda, certo ? pois é ,com a imagem gravada em md5 , esta não aparece, o caminho fica com o nome original dela, e na pasta ela esta em md5.

Script original neste site :

http://fredimachado.com.br/2009/11/15/mult...2/#comment-1791

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this