как сервлету получить несколько файлов ?
вот мы получаем поток
Код:
DataInputStream in = new DataInputStream(request.getInputStream());
это для одного фала, как сделать для двух трёх сразу, чото не доходит... обьясните, пробовал тупо циклом прогонять, не работает
Доброго времени суток.
Отстал от жизни что то парнишко. На полгода гдето ))
Блин мужики, про 9мая я не писал, мое начинается с "Доброго времени суток"
Для этого в стратсе отдельный контрол есть. ***.upload.FormFile называется.
Цитата: Zorkus
Для этого в стратсе отдельный контрол есть. ***.upload.FormFile называется.
вот кстати и под стратс я начал писать придумал форму в которой количество файлов задаёт пользователь добавляя новое поле, вот код:
Код:
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=windows-1251" %>
<%@ page import="org.apache.struts.upload.FormFile" %>
<html:html>
<head>
<title>
</title>
<script language = "JavaScript">
var items = 1;
function AddItem(){
div = document.getElementById("items");
button = document.getElementById("add");
newitem = '<br /><input type="file" name="file">';
newnode = document.createElement("span");
newnode.innerHTML = newitem;
div.insertBefore(newnode,button);
}
</script>
</head>
<body>
<html:errors property="name"/>
<html:form action="/uploadAction" method="POST">
<div ID="items">
<html:file property="file" />
</div>
<html:link href="java script:AddItem();">Добавить файл</html:link><br />
<html:submit property="submit" value="Submit"/>
</html:form>
</body>
</html:html>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=windows-1251" %>
<%@ page import="org.apache.struts.upload.FormFile" %>
<html:html>
<head>
<title>
</title>
<script language = "JavaScript">
var items = 1;
function AddItem(){
div = document.getElementById("items");
button = document.getElementById("add");
newitem = '<br /><input type="file" name="file">';
newnode = document.createElement("span");
newnode.innerHTML = newitem;
div.insertBefore(newnode,button);
}
</script>
</head>
<body>
<html:errors property="name"/>
<html:form action="/uploadAction" method="POST">
<div ID="items">
<html:file property="file" />
</div>
<html:link href="java script:AddItem();">Добавить файл</html:link><br />
<html:submit property="submit" value="Submit"/>
</html:form>
</body>
</html:html>
работает просто великолепно, но я не знаю как принять в ActionForm, более одной переменной. Как допустим принять 20 переменных если у всех одинаковое имя "file" не создавать же мне на этот случай 20 get'ов и set'ов
В этом вся и проблема как получить переменные.
2. http://www.roseindia.net/struts/strutsfileupload.shtml - несколько файлов загрузку элементарно написать, ведь каждый файл-аплоад контрол связывается со определенным свойством формы.
Код:
<html:form action="/uploadAction" method="POST">
<html:file property="file" />
<html:file property="file" />
<html:file property="file" />
<html:submit property="submit" value="Submit"/>
</html:form>
<html:file property="file" />
<html:file property="file" />
<html:file property="file" />
<html:submit property="submit" value="Submit"/>
</html:form>
Цитата: Fubu_By
ну я так и организовал, но это для получения одного файла, а мне надо пулучить допустим трифайла которые отправляються вот, так :
Код:
<html:form action="/uploadAction" method="POST">
<html:file property="file" />
<html:file property="file" />
<html:file property="file" />
<html:submit property="submit" value="Submit"/>
</html:form>
<html:file property="file" />
<html:file property="file" />
<html:file property="file" />
<html:submit property="submit" value="Submit"/>
</html:form>
Если вы знаете, сколько вам надо иметь на странице контролов на этапе разработки, то связывайте каждый инпут-элемент с полем стратсовой формы, каждый со своим. Инъективное отображение, терминами матанализа ;).
да в том то и дело что не знаю...
Цитата: Fubu_By
да в том то и дело что не знаю...
Ну сформулируйте ТЗ более подробно тогда. Может, вам и не нужно такое решение.