ファイルをサーバーにアップロードするためのコードは次のとおりです。
$(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」を書いています