Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vitor Ulhoa

Função Crop Multiplica as imagens

Recommended Posts

Boa tarde galera.
Preciso de uma ajuda grande, descobri o erro que está acontecendo no projeto porém não estou conseguindo resolver.

No sistema que estou utilizando, o usuário seleciona "X" imagens e elas aparecem automaticamente para o usuário fazer um crop (Corte da imagem).
Antes do usuário fazer o crop essas imagens ficam na "memória" no método "loadImg" e não são enviadas ao servidor.
Acontece que toda vez que o usuário clica nas imagens para visualiza-las, o sistema está gerando uma cópia cada vez que ele clica.
Exemplo: o usuário clicou na imagem 1, depois na imagem 2 e clicou na imagem 1 novamente, o sistema está criando na memória 2 imagens 1 e na hora do crop ele duplica a imagem 1.
Se ele clicar 5 vezes na imagem 1 ela é cropada 5 vezes.
Alguém pode me ajudara resolver isso?

Segue a função do método loadImg no arquivo do crop:

this.loadImg = function (url) {
            var that = this;
            this.eles.img
                       .attr('src', url)
                       .load(function () {
                                     that.imgSize();
                        });
};

Função do arquivo de upload:

function load_img(src) {
      var one = new CROP();
      one.init('.default');
      one.loadImg(src);
      $("#crop").show();
      $(document).on('click', '#btn_crop', function() {
              if (document.getElementById('img_src_load').value == src) {
                  document.getElementById('carregando').innerHTML = 'Processando, aguarde...';
                  $("#crop").hide();
                  $.ajax({
                         type: "post",
                         dataType: "json",
                         url: Yii.host +"/"+ Yii.baseUrl +"/ajax/upload",
                         data: $.param(coordinates(one))
})


A função do crop salva um php via ajax.
Obrigado.

Foto.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que to vendo aqui, acho que a melhor opção seria deletar o cache que está gerando.

Alguém pode me explicar?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já utilizei, mas não funcionou.

Usei o também o $.domCache na div das imagens, o cache parou, mas quando eu clico na imagem pra cropar ela não aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.