我已经搜索了这个网站,但似乎找不到答案。我有一个简单的 AjaxUpload 脚本,用于上传 10 秒的音频样本,然后将上传的文件显示为 BBCode 和 Flash 播放器(在同一页面上)。通过uploadSample.php
用下划线替换文件名中的空格来处理它们,但是<input type="text"/>
即使 PHP 脚本删除了它们,生成的代码中的文件名中仍然有空格,因此 BBCode 是错误的并且 flashplayer 找不到该文件。
该脚本显然在 PHP 脚本去除空格之前抓取了原始文件名,那么有没有办法在上传后抓取正确的文件名,并带有下划线?
jQuery
$(function() {
var url = "uploads/samples/";
var btnUpload = jQuery('#up');
var status = jQuery('#status');
new AjaxUpload(btnUpload, {
action: 'uploadSample.php',
name: 'uploadfile',
onSubmit: function(file, ext) {
status.html('<img src="public/upload/ajax-loader.gif">');
},
onComplete: function(file, response) {
if (response === "success") {
$("#status").fadeOut();
$("#bb").val('[sample=' + url + file + ']');
$("#flash").html("<embed width='400' height='27' quality='best' src='public/upload/player.swf' flashvars='audioUrl=" + url + file + "' type='application/x-shockwave-flash'>");
} else {
// run error code
}
}
});
});
小提琴(如果需要):http: //jsfiddle.net/Nn5gG/1/