这是我将文件上传到服务器的代码。
$(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>
它工作得很好,上传图片并发送 json 作为响应,我可以在 FIREBUG 中看到。
这是一个上传文件的响应。
{"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'