Обработка ошибок с помощью swfupload
Я не собираюсь этого делать. Я начал с образца, найденного в пакете загрузки, и отредактировал его для своих нужд. Я произвел проверку расширения в сценарии файла php-сервера, поэтому, если расширение отсутствует в белом списке, сценарий завершается с ошибкой. Я не знаю, как получить пользовательское сообщение работает.
Есть функция php
function HandleError($message) {
header("HTTP/1.1 500 Internal Server Error");
echo $message;
}
Но это возвращает только 500 вместо $ сообщения! Это JS uploadError()
function uploadError(file, errorCode, message) {
try {
var progress = new FileProgress(file, this.customSettings.progressTarget);
progress.setError();
progress.toggleCancel(false);
switch (errorCode) {
case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
progress.setStatus("Errore upload: " + message);
this.debug("Error Code: HTTP Error, File name: " + file.name + ", Message: " + message);
break;
case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
progress.setStatus("Upload fallito.");
this.debug("Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
break;
case SWFUpload.UPLOAD_ERROR.IO_ERROR:
progress.setStatus("Errore Server (IO)");
this.debug("Error Code: IO Error, File name: " + file.name + ", Message: " + message);
break;
case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
progress.setStatus("Errore Security");
this.debug("Error Code: Security Error, File name: " + file.name + ", Message: " + message);
break;
case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
progress.setStatus("Limite upload superato.");
this.debug("Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
break;
case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
progress.setStatus("File non valido. Upload ignorato.");
this.debug("Error Code: File Validation Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
break;
case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
// If there aren't any files left (they were all cancelled) disable the cancel button
if (this.getStats().files_queued === 0) {
document.getElementById(this.customSettings.cancelButtonId).disabled = true;
}
progress.setStatus("Cancellato.");
progress.setCancelled();
break;
case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
progress.setStatus("Sospeso.");
break;
default:
progress.setStatus("Errore non gestito: " + errorCode);
this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
break;
}
} catch (ex) {
this.debug(ex);
}
Если я закомментирую header()
функция, она отображает ошибку в индикаторе выполнения (yay), но обрабатывает ее как успешную, и это не я должен обработать ее с ошибкой. С header()
удалил скрипт js иди в uploadSuccess
вместо uploadError
,
Документация действительно ужасная, и я больше ничего не нахожу.
1 ответ
Удалить заголовок, а затем добавить exit(0)
после echo $message
, Я думаю, что это решит проблему.