2

ファイルをサーバーにアップロードするためのコードは次のとおりです。

$(function () {
$('#phy_fileupload').fileupload({
    autoUpload: true,
    add: function (e, data) {
        $('body').append('<p class="upl">Uploading...</p>')
        data.submit();
    },
    progressall: function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('#phy_progress .bar').css(
            'width',
            progress + '%'
        );
    },
    done: function (e, data) {
        $.each(data.files, function (index, file) {
             $('.upl').remove();
                $('<p/>').text(file.name).appendTo("#phy_files");
        });
    }
});
});

ここにHTMLがあります

<div id="phy_progress">
    <div class="bar" style="width: 0%;"></div>
</div>
                                                <input id="phy_fileupload" type="file" name="files[]" data-url="<?php echo site_url('admin/upload/'); ?>" multiple>

<div class="files" id="phy_files"></div>

それは非常にうまく機能し、画像をアップロードし、FIREBUGで確認できる応答でjsonを送信します。

これは、アップロードされた 1 つのファイルの応答です。

{"files":[{"name":"2013-06-20_1235UQn5gm5SRUPzbA.png","size":29381,"url":"http:\/\/files\/2013-06-20_1235UQn5gm5SRUPzbA.png","thumbnail_url":"http:\/\/files\/thumbnail\/2013-06-20_1235UQn5gm5SRUPzbA.png","delete_url":"http:\/\/localhost\/mark\/?file=2013-06-20_1235UQn5gm5SRUPzbA.png","delete_type":"DELETE"}]}

問題は、div (#phy_files) (つまり 2013-06-20_1235.png) にファイルの名前を追加することですが、サーバーにアップロードされた新しいファイル名 (つまり) 2013- 06-20_1235UQn5gm5SRUPzbA.png. 今、私は一日中Jsonのこの応答にアクセスしようとしましたが、どうやら間違った終わりを見ているか、完全に迷っているようです.どうすればこの応答にアクセスできるのかわかりません.

どんな助けでも本当に感謝します。ここに書いたことを理解していない場合はお知らせください。必要に応じて再度説明します。ありがとうございました。

要するに:

問題は、アップロードされているファイルの名前が「file.png」であるということです。サーバーでは、その名前が「filexyzserdsdf.png」に変更されます。応答ファイル名を私の div (#phy_files) に書き込む必要があります。 、しかし、代わりに「file.png」を書いています

4

2 に答える 2

1

今、それは明確になってきました...わかりました、次にこれを行う必要があります:

done: function (e, data) {
    var res = jQuery.parseJSON(data.result);
    $.each(res.files, function (index, file) {
         $('.upl').remove();
            $('<p/>').text(file.name).appendTo("#phy_files");
    });
}
于 2013-06-26T13:57:39.923 に答える
0

console.log データの場合、log= には何が含まれていますか?

done: function (e, data) {
console.log(data);
        $.each(data.files, function (index, file) {
             $('.upl').remove();
                $('<p/>').text(file.name).appendTo("#phy_files");
        });
    }
于 2013-06-26T13:27:03.737 に答える