Проблемы с Struts 2 и YUI Uploader
У меня есть проект, над которым я работаю, где мы должны иметь возможность выбрать несколько файлов для загрузки одновременно. Поскольку мы уже используем YUI для нескольких других вещей, это было довольно простым запросом. Я провел небольшое исследование и решил использовать Uploader от YUI для выполнения этой работы.
Создан простой пример для знакомства с компонентом. Простым примером была JSP, использующая библиотеки YUI, подключающиеся к сервлету с помощью org.apache.commons.fileupload для обработки файлов. Работал без нареканий. Поэтому я перешел к интеграции в наш проект Struts 2. Все отлично работает, пока вы не попытаетесь загрузить, то ничего не делает. Итак, я попробовал несколько вещей, и вот что я нашел.
Если я кодирую функцию загрузки для YUI, как это
function upload() { //alert("upload; fileID=" + fileID);
if(fileID !=null)
{
uploader.uploadAll( "http://localhost:8080/YUIUploaderTest/uploader","POST");
}
}
Работает отлично. Файлы загружаются и создаются, и массы радуются.
Однако, если я изменю это на то, что должно быть для производственной среды
function upload()
{
//alert("upload; fileID=" + fileID);
if(fileID !=null)
{
uploader.uploadAll( "/ECMS/certificate/massimportcertificate_uploadFiles.action","POST");
}
}
он ничего не делает, кроме как выдает ошибку #2038 из flash. После долгих поисков я подумал, что, возможно, URL, который я пытаюсь передать, просто неверен. Но если я добавлю этот URL в свой браузер с прикрепленным к нему http://localhost:8080/, это приведет к отключению действия.
Вопрос в том, что является причиной этой ошибки 2038? Есть ли в стойках что-то, что нужно настроить, прежде чем загрузчик YUI будет работать?
Спасибо!
1 ответ
Вам необходимо указать абсолютный путь. Предоставление относительного пути не сработает. Надеюсь это поможет!