Как отправить сообщение об ошибке из сервлета в Flex FileReference в Flex при загрузке

Я использую fileReference.download () для загрузки файлов. Запрос fileReference на отправку сервлету Java. В сервлете может быть проверена некоторая ошибка. Например, ошибка - «Файл не найден». Я хочу отправить ошибку на гибкую сторону. Я перепробовал множество методов, но fileReference во flex их не получил. Такие как

response.sendError(HttpServletResponse.SC_NOT_FOUND, "File not found");

or

PrintWriter out = resp.getWriter(); out.print("File not found");

Кажется, что fileReference не может запускать событие DataEvent.UPLOAD_COMPLETE_DATA и HTTPStatusEvent.HTTP_STATUS. Может кто-нибудь сказать мне, как получить сообщение об ошибке сервлета в fileReference. Спасибо


person Pansy Xue    schedule 19.07.2011    source источник
comment
Понятия не имею, о чем вы спрашиваете. Пожалуйста, будьте кратки, иначе этот вопрос будет закрыт.   -  person J_A_X    schedule 19.07.2011


Ответы (2)


Я не верю, что FileReference.download отправляет событие HttpStatus и не раскрывает код состояния.

Вы можете только прослушивать IOErrorEvent.

person Jason Sturges    schedule 20.07.2011
comment
Я слушал IOErrorEvent. Но сообщение об ошибке выглядит как «# 2038». Я хочу получать полезные сообщения, например сообщение, которое я отправляю в response.sendError (HttpServletResponse.SC_NOT_FOUND, File not found); - person Pansy Xue; 20.07.2011

Думаю, решения нет. Я очень старался несколькими способами, такими как ответ 500, sendError вместо ответа с сообщением, возврат XML-документа (но у вас нет контроля над загруженным контентом). Я решил проблему, создав «универсальное сообщение об ошибке», которое подходит для большинства ситуаций (у вас нет разрешения или контент недоступен ...)

Другое решение - загрузить с помощью navigateTo, но тогда вам нужно открыть окно браузера.

person Frank Szilinski    schedule 03.06.2012