2013-05-10 1 views
0

Я пытаюсь использовать изображения загрузки ajax для raphael, после загрузки 1.jpg, затем удалите, затем загрузите другое изображение как одно и то же имя 1.jpg.
Показывать изображение, которое раньше было удалено, я нашел несколько похожих вопросов и ответов.
Таким образом, я добавляю значение после другого вывода URL-адреса изображения, например, <image href="..?different_value">.
Теперь можно показать другое изображение, но ширина и высота изображения не должны обновляться, но по-прежнему старая ширина и высота изображения, любое предложение в jquery или php разрешает это?Как избежать изображения, которое имеет одно и то же имя, только что удалили?

var cachenum = 0; 
$('.upload_btn').click(function(){ 
    var uf = $('.upload form'); 
    var fd = new FormData(uf[0]); 
    fd.append('upload','1'); 

    $.ajax({ 
     type: "POST", 
     url: "index.php", 
     data: fd, 
     processData: false, 
     contentType: false, 
     success: function(html){ 
      var session = ..., file = ... type = ...; 
      function register(el) { 
       // toggle handle and remove button 
      }; 
      var img = new Image(); 
      img.onload = function(){ 
       var img_width = this.width, img_height = this.height; 
       var img_scale = img_width/200; 
       var new_height = img_height/img_scale; 
       cachenum = cachenum+1; 
       var r_img = paper.image('img/product/tmp/'+session+'/'+file+type+'?'+cachenum, 0, 0, 200, new_height); 
       register(r_img); 
       return cachenum; 
      }; 
      img.src = 'img/product/tmp/'+session+'/'+file+type+'?'+cachenum; 
     } 
    }); 
+0

Вам нужно загрузить несколько изображений на сервер? или я что-то не понял? –

+0

@ user123_456 Да, я попытался позволить пользователям загружать несколько изображений и удалять их. – vibskov

ответ

0

замены переменной cachenum использовать новый Date(). GetTime(), его Работа.

0

Я могу порекомендовать вам использовать этот EXAMPLE для загрузки нескольких изображений ...

Идея иметь только один вход, поданный, который может быть использован для загрузки нескольких изображений.

Нет необходимости в ваших звонках ajax() ... люди просто так глубоко копаются в этих вызовах ajax, но иногда мы можем просто использовать простую форму, которая сделает нашу жизнь намного проще!

Просто используйте форму, как у вас в этом примере, и это заставит вас начать!

Один ПРИМЕЧАНИЕ этот параметр не работает во всех браузерах !!! Подумайте об этом!

Я протестировал его в Chrome и Safari и работает как шарм!

Наслаждайтесь!

+0

Спасибо за ответ! но я не могу уйти от пользователя ... а также мне нужно динамическое шоу на странице, загружать изображение в Raphael .. но ваш пример кажется просто загружать изображение, не может отображаться на странице без обновления. – vibskov

+0

Что вы действительно пытаетесь достичь? Пожалуйста, будьте более конкретными, потому что я не понимаю вас правильно –

+0

Я пытаюсь создать страницу, чтобы пользователи могли загружать изображения, а динамические показывают каждую загрузку на странице без обновления, пользователь может продолжать загружать больше или удалять один из них, удалить без обновления. также пользователь может редактировать (вращать, изменять размер) внутри raphael freetransform – vibskov

0

Я думаю, что его, потому что вы задаете только СРК изображения

вы можете также добавить высоту изображения

img.src = 'img/product/tmp/'+session+'/'+file+type+'?'+cachenum; 
img.height = new_height; 
+0

Спасибо за ответ, но это не работает, потому что img.height должен определить при загрузке img .. не могли бы вы мне помочь, например, код? – vibskov

Смежные вопросы