Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / В одном .jsp две Загрузки файлов / 10 сообщений из 10, страница 1 из 1
07.09.2012, 09:56:47
    #37947751
tiro_java
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
Всем привет!
Прошу помощи разобраться, в java новичок.

у меня на странице находится две формы для загрузки файлов, одна для доков и другая для изображений
Проблема в том, что при нажатии на кнопку срабатывает только самый первый сервлет (прописанный в коде самый первый), как можно решить эту проблему?

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<form name="fload" method="post" enctype="multipart/form-data"> 
Upload file:</a>&nbsp;<input type="file" name="filen" id="fileD" multiple="true"/> 
<input type="submit" value="Upload" name="BtnDoc" />
 
</form> 
... 
<form name="fload" method="post" enctype="multipart/form-data"> 
Upload file:</a>&nbsp; <input type="file" name="file[]" id="filename" multiple="true" /> 
<input type="submit" value="Upload" name="BtnImage" onClick="return btnupload('<%=request.getParameter("param")%>');"/> 
</form> 



и два сервлета
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
//IMAGE 
<% 
if(isMultipart) 
{ 
// --- upload --- 
File logImg = new File(mainDir + "upload-log.txt"); //log file 
FileWriter logWrit = new FileWriter(logImg, true); // создаём класс для (до)записи в файл 

//FileItemFactory factoryImg = new DiskFileItemFactory(); // Создаём класс фабрику (управлять параметрами обработки запроса) 
// ServletFileUpload uploadImg = new ServletFileUpload(factoryImg); //Создаём сам загрузчик файла 
List /*FileItem*/items_img = uploadImg.parseRequest(request); // Парсим запрос 
Iterator iterImg = items_img.iterator(); // Обрабатываем результат 
int i = 0; // получили список всех полей из html-формы 
while (iterImg.hasNext()) { 

... 
%> 


<% 
/* upload file */ 
int mode = 0; 
if(isMultipart) mode = 1; 
if(mode == 1){ 
FileItemFactory factory = new DiskFileItemFactory(); 
ServletFileUpload upload = new ServletFileUpload(factory); 
List /*FileItem*/ items = upload.parseRequest(request); 
Iterator iter = items.iterator(); 
while (iter.hasNext()) { 
}... 
%> [SRC java]
...
Рейтинг: 0 / 0
07.09.2012, 10:02:27
    #37947760
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
Не понятно чего вы хотите.
Одна JSP обрабатывает один запрос. Где тут два сервлета я не понял. Это две разные JSP?
Потом у вас в HTML две формы. Очевидно что каждая форма сабмитится самостоятельно.
Если нужно два файла отправить одновременно, то нужно одна форма с двумя file input.

Конкретезируйте задачи и объясните почему у вас именно такое решение. Почему две jsp? Почему две формы? Почему не указываете action?
...
Рейтинг: 0 / 0
07.09.2012, 10:10:51
    #37947773
tiro_java
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
Этот весь код содержит одна JSP. ранее было два файла, сейчас необходимо объединить.
По отдельности два файла работают, если код тупо скопировать в один JSP как я в принципе и сделал, то не отрабатывает загрузка Doc "/* upload file */ ". Только "image upload" (в коде загрузка самая первая идет). Doc и image загружаются в разные места на сервере, загрузка не нужна одновременная
...
Рейтинг: 0 / 0
07.09.2012, 10:13:00
    #37947780
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
tiro_javaЭтот весь код содержит одна JSP. ранее было два файла, сейчас необходимо объединить.
По отдельности два файла работают, если код тупо скопировать в один JSP как я в принципе и сделал, то не отрабатывает загрузка Doc "/* upload file */ ". Только "image upload" (в коде загрузка самая первая идет). Doc и image загружаются в разные места на сервере, загрузка не нужна одновременная
Понятнее не стало. Если нужно загружать отдельно, то анализируйте имя параметра и по нему определяйте куда сохранять файл.
...
Рейтинг: 0 / 0
07.09.2012, 10:34:57
    #37947818
tiro_java
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
Все в одном JSP размещено, в виде двух вкладок, одна загруж. доки, вторая изобр. Подскажите где начать разбор чтобы разделить их работу, сейчас по нажатию на любую из submit отрабатыв код для изображений, для док кнопка не рабочая да и весь прописанный функционал.

А если так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<div id="Вкладка_1" style="display: block;">                                   
<form name="fupload" method="post" enctype="multipart/form-data">
Upload file:</a>&nbsp;<input type="file" name="filename" id="fileDoc" multiple="true"/>
<input type="submit"  value="Upload" />
</form>
<form name="fuploadrw" method="post" action="?folder=<%=request.getParameter("folder")!=null?request.getParameter("folder"):""%>">
	   <input type="hidden" name="pathupload" id="pathupload" />
	   <input type="hidden" name="rwupload" id="rwupload" />
	</form>
</div>

<div id="Вкладка_2" style="display: none;">
<form name="fload" method="post" enctype="multipart/form-data">                                   
Upload file: <input type="file" name="file[]" id="filename" multiple="true" />
<input type="submit" value="Upload" onClick="return btnupload('<%=request.getParameter("IMG")%>');"/>
</form>
</div>



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
***************Загрузка Изображений*****************************
<%
String mDir  = "/serv/...";
String IMG = String.valueOf(request.getParameter("IMG"));
boolean isMultipartImg = ServletFileUpload.isMultipartContent(request);
if(isMultipartImg){
FileItemFactory factoryImg = new DiskFileItemFactory();  
        ServletFileUpload uploadImg = new ServletFileUpload(factoryImg); //Создаём сам загрузчик файла
        List /*FileItem*/items_img = uploadImg.parseRequest(request); // Парсим запрос
        Iterator iterImg = items_img.iterator(); // Обрабатываем результат
        int i = 0; 
      while (iterImg.hasNext()) {
}
}
...
%>
******************Загрузка Доков*******************************
<%
String folder = String.valueOf(request.getParameter("folder"));
boolean isMultipart = ServletFileUpload.isMultipartContent(request);

if(isMultipart){
FileItemFactory factory = new DiskFileItemFactory();
         ServletFileUpload upload = new ServletFileUpload(factory);
         List /*FileItem*/ items = upload.parseRequest(request);
         Iterator iter = items.iterator();
         while (iter.hasNext()) { ...
}
}
%>
<script>
                 var mes = confirm("...");
                 if(mes){
                    document.getElementById("pathupload").value = '<%=itemName%>';
                    document.getElementById("rwupload").value = 'true';
                    document.forms["fuploadrw"].submit();                  
                 }else{
                    document.getElementById("pathupload").value = '<%=itemName%>';
                    document.getElementById("rwupload").value = 'false';
                    document.forms["fuploadrw"].submit();              
                 }           
                 </script>
...
Рейтинг: 0 / 0
07.09.2012, 10:58:59
    #37947858
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
tiro_java,

Одна форма один запрос! Грузите файлы одной формой, в сервлете разбирайте где какой.
...
Рейтинг: 0 / 0
07.09.2012, 12:00:33
    #37947988
pasha701
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
В форме через атрибут "action" можно указать на какой сервлет отправлять:
Код: html
1.
<form action="servlet1">

http://htmlbook.ru/html/form/action
...
Рейтинг: 0 / 0
07.09.2012, 12:26:47
    #37948042
tiro_java
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
<form name="1форма" method="post" enctype="multipart/form-data" action=" https://.../upload.jsp#_1">
<form name="2форма" method="post" enctype="multipart/form-data" action=" https://.../upload.jsp#_2">

Код: html
1.
2.
3.
4.
<ul class="вкладки">
     <li><a href="#_1" id="tab_1" >Doc</a></li>
     <li><a href="#_2" id="tab_2" >Img</a></li> 
</ul>
...
Рейтинг: 0 / 0
07.09.2012, 12:40:17
    #37948083
tiro_java
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
Подскажите,
может ли быть два класса фабрики?? в одной jsp или можно создать один общий - класс фабрика FileItemFactory имя = new DiskFileItemFactory(); // управляет параметрами обработки запроса
...
Рейтинг: 0 / 0
07.09.2012, 12:55:09
    #37948108
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В одном .jsp две Загрузки файлов
tiro_java,
если кликнуть на submit кнопки, то идёт полная перезагрузка окна html.
Либо делай с AJAX без субмит, либо разные окна-формы либо ....
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / В одном .jsp две Загрузки файлов / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]