Я искал этот сайт, и я не могу найти ответ. У меня есть простой скрипт AjaxUpload для загрузки 10-секундных аудиосэмплов, а затем отображение загруженного файла как в виде BBCode, так и в виде флеш-плеера (на той же странице). 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/