2014-09-23 2 views
1

Я использую виджет GWT для загрузки моих файлов, я хотел бы загрузить их под папкой tomcat на сервере Ubuntu, поэтому мне нужно установить значение параметра для этой части код в web.xml:Как установить путь для загрузки gwt на сервере ubuntu

<context-param> 
    <description>Location to store uploaded file</description> 
    <param-name>file-upload</param-name> 
    <param-value> 
     ... 
    </param-value> 
</context-param> 

Если я пытаюсь установить http://ip.ip.ip.ip:8080/var/lib/tomcat7 он возвращает UploadActionException и e.getMessage()="http://ip.ip.ip.ip:8080//var//lib//tomcat7". Кажется, что Eclipse попытается найти этот путь в моей файловой системе Window. Любые идеи для решения этой проблемы? Благодарю.

+0

Какова ваша конфигурация сервлета? какой сервлет-класс вы используете? –

+0

Я использовал этот учебник [ссылка] http://simplygwt.blogspot.it/2011/09/gwt-upload.html @ ManoloCarrascoMoñino – django

+0

Можете ли вы опубликовать код своей реализации 'executeAction', где вы сохраняете файлы где-то, и код, который вы хотите использовать, чтобы вернуть эти файлы? –

ответ

1

http://ip.ip.ip.ip:8080/var/lib/tomcat7 не то же самое, что/var/lib/tomcat7 на вашем сервере. Чтобы использовать это в качестве каталога загрузки поместить этот Init-параметров в вашей загрузки декларации сервлета в web.xml

<context-param> 
    <description>Upload Directory</description> 
    <param-name>upload-directory</param-name> 
    <param-value>/var/lib/tomcat7</param-value> 
</context-param> 

, а затем в сервлет загрузки построить строку пути, начиная с

String dirPath = getServletContext().getInitParameter("upload-directory"); 

затем написать FileItem в файл, как этот

File file = new File(dirPath + "/" + fileItem.getName()); 
fileItem.write(file); 

Все это потребовал бы весь каталог/вара/Библиотеки/tomcat7 быть доступны для записи любого пользователя кота работает под что является плохой идеей. Но у вас это есть.

+0

Если я использую */var/lib/tomcat7 *, он создает папки под C: // var/lib/tomcat7 в моей файловой системе Window. Tomcat находится на другом сервере ip unbuntu, а не на моем компьютере. – django

+0

Спасибо @bhowden, у меня не было разрешения в этой папке, и это была плохая идея написать там! В любом случае проблема заключалась также в том, что из окна путь был неправильным, и он запускается только тогда, когда webapp был развернут под ubuntu. – django

Смежные вопросы