이 사이트를 검색 한 결과 답변을 찾지 못하는 것 같습니다. 나는 10 초 오디오 샘플을 업로드하고 BBCode와 플래시 플레이어 (같은 페이지에)로 업로드 된 파일을 표시하는 간단한 AjaxUpload 스크립트를 가지고있다. uploadSample.php
은 파일 이름의 공백을 밑줄로 대체하여 파일 이름의 공백을 처리하지만, <input type="text"/>
의 생성 된 코드는 여전히 PHP 스크립트가 파일 이름을 제거했다고 생각하기 때문에 파일 이름에 공백이 있으므로 BBCode가 잘못되어 flashplayer가 파일을 찾을 수 없습니다.AjaxUpload 스크립트는 파일 이름에 공백을 남기기
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/
환상적인!. 모든 공간이 대체되었는지 확인하기 위해'file.replace ('', '_')'를'file.replace (/ \ s/g, '_')'로 변경해야했습니다. 감사! –
@Karl : 천만에요. 뿐만 아니라 정규식에 대한 좋은 캐치 – hellsgate