0

ajaxアップロード画像をラファエルに使用しようとしました.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;
        }
    });
4

3 に答える 3

0

画像のsrcのみを指定しているためだと思います

画像に高さを追加することもできます

img.src = 'img/product/tmp/'+session+'/'+file+type+'?'+cachenum;
img.height = new_height; 
于 2013-05-10T11:10:52.447 に答える
0

変数 cachenum を置き換える new Date().getTime() を使用すると、機能します。

于 2013-05-10T20:54:33.333 に答える