Гость
Форумы / Java [игнор отключен] [закрыт для гостей] / Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig? / 25 сообщений из 68, страница 1 из 3
05.09.2019, 17:26
    #39858080
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
Не могу получить на сервере.
Там новый api
request.getParts()
...
getContentType дает false. А должен: multipart/form-data.
Вадя, ты этим api делал?
...
Рейтинг: 0 / 0
05.09.2019, 17:44
    #39858093
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
...
Рейтинг: 0 / 0
05.09.2019, 17:53
    #39858096
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадя,
Ок.
До завтра буду изучать.
Хотя у меня не
<form action="upload" method="post" enctype="multipart/form-data">
<input type="text" name="description" />
<input type="file" name="file" />
<input type="submit" />
</form>
А руками в js
formData = new FormData()
....
Спс.
...
Рейтинг: 0 / 0
05.09.2019, 18:08
    #39858106
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадя,
Зачем тут false везде в вебе в contenttype?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
jQuery.ajax({
    url: 'php/upload.php',
    data: data,
    cache: false,
    contentType: false,
    processData: false,
    method: 'POST',
    type: 'POST', // For jQuery < 1.9
    success: function(data){
        alert(data);
    }
});
...
Рейтинг: 0 / 0
05.09.2019, 20:50
    #39858143
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
[quote PetroNotC Sharp]Зачем тут false везде в вебе в contenttype?[/quoteхз
http://jquery.page2page.ru/index.php5/Ajax-запрос#.D0.9F.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80_dataType
как бы если только очень хочется
...
Рейтинг: 0 / 0
05.09.2019, 22:44
    #39858174
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
PetroNotC Sharp,
Код: plaintext
1.
2.
3.
4.
5.
6.
contentType:string('application/x-www-form-urlencoded')

При отправлении запроса на сервер, данные передаются в формате, указанном в contentType. По умолчанию 
используется 'application/x-www-form-urlencoded', который подходит в большинстве случаев. Если указать этот 
параметр явно, то он будет передан серверу (даже если туда не были отправлены никакие данные). Стоит 
отметить, что данные всегда будут передаваться в кодировке UTF-8. Это стоит учитывать при обработке данных 
на стороне сервера
.

но надо явно указать multipart/form-data
...
Рейтинг: 0 / 0
06.09.2019, 14:13
    #39858436
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадя,

Не вышло.
Если ставить false (рекомендуют) то у меня ошибка выше описана.
Если ставить
Код: java
1.
contentType: "multipart/form-data",



То ошибка уже
https://stackoverflow.com/questions/36005436/the-request-was-rejected-because-no-multipart-boundary-was-found-in-springboot
...
Рейтинг: 0 / 0
06.09.2019, 14:16
    #39858441
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадя,
То есть по докам должно false и тогда хром сам разбирается.
Но у меня при отправке в логах тоже false и в сервлете получаю false.
Потом райзе.
Как в сервлете взять просто сырое все что пришло?
Счас тесты код выложу. Может кто попробует.
...
Рейтинг: 0 / 0
06.09.2019, 14:21
    #39858445
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
PetroNotC Sharp,

а если через форм попробовать?

Код: javascript
1.
2.
3.
4.
   <form action="UpLoad" method="POST" id="upl" enctype="multipart/form-data">
            <input type="file" name="fileName" />
            <input type="submit" />
    </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.
 protected void doPost(HttpServletRequest request, HttpServletResponse response) {


        try {

            Part filePart = request.getPart("fileName"); // Retrieves <input type="file" name="file">
            InputStream filecontent = filePart.getInputStream();

            byte[] buffer = new byte[filecontent.available()];
            filecontent.read(buffer);
            
            File targetFile = new File(......... + File.separator + request.getPart("fileName").getSubmittedFileName());

            try (OutputStream outStream = new FileOutputStream(targetFile)) {
                outStream.write(buffer);
                outStream.flush();
            }
             response.sendRedirect("/" ..............);
        } catch (IOException | ServletException ex) {
            Logger.getLogger(UpLoad.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
...
Рейтинг: 0 / 0
06.09.2019, 14:24
    #39858447
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
Тест с ошибкой.
- запуск, выбрать в эксплорере пару фоток и нажать кнопу отправить на сервер
- в сервлете райзе при доступе к ним (GlassFish)
Код: 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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="robots" content="noindex,nofollow" />
<meta name="viewport" content="width=device-width, ainitial-scale=1.0">

<SCRIPT src="<%= request.getContextPath() %>/js/vendor/jquery.min.js"></SCRIPT>
<SCRIPT src="./js/photo-upload.js"></SCRIPT>

<title>Редактор альбома</title>
</head>
<body>
<div>
	<p>Images</p>
	<input type="file" assept="image/png, image/jpeg" multiple />
	<input type="button" onclick="buttonClick()"; />
</div>
</body>
</html>
...... 
window.onload = function() {
	//------- check HTML5 file API----------- 
	if (window.File && window.FileReader && window.FileList && window.Blob){
		
	}
	else
	{
		alert('The File APIs HTML5 are not fully supported in this browser.');
	}
};

function buttonClick() {
	var files = $('input[type=file]')[0].files;
	if (!files) {alert('No selected files'); return;}
	var formdata = new FormData();
	for(var i=0; i<files.length; i++){
		formdata.append('image_'+i, files[i]);
	}
	
	$.ajax({
		 url: 'http://localhost:8080/photo-edit/uploads',
		 type: "POST",
		 enctype:"multipart/form-data",
		 data: formdata,
		 timeout: 2000,
		 contentType: false,
		 processData: false,
		 cache: false,
		 error: function(x, t, m){
			 alert("Error: " + t);
		 }	 
	 });
}
...
Рейтинг: 0 / 0
06.09.2019, 14:26
    #39858448
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадяа если через форм попробовать?а как, если я в динамике в openDialog выделяю 500 фоток и отправляю на сервер.
...
Рейтинг: 0 / 0
06.09.2019, 14:28
    #39858450
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
PetroNotC Sharpэксплорере пару фоток и нажать кнопу отправить на сервера по одной?
...
Рейтинг: 0 / 0
06.09.2019, 14:28
    #39858451
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадяа если через форм попробовать?счас попробую, но это не мой юзкейс
...
Рейтинг: 0 / 0
06.09.2019, 14:30
    #39858452
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
PetroNotC Sharpсчас попробую, но это не мой юзкейсэто для диагностики
...
Рейтинг: 0 / 0
06.09.2019, 14:37
    #39858455
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадяPetroNotC Sharpсчас попробую, но это не мой юзкейсэто для диагностикида. Сделаю конечно. Отпишусь.
...
Рейтинг: 0 / 0
06.09.2019, 14:49
    #39858462
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
Это третий кусок к тесту где у меня райзе. Сервлет.

Код: 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.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
package uploadfiles;

import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

@MultipartConfig
@WebServlet("/uploads")
public class UploadFiles extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public UploadFiles() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);

		System.out.println("----> Post request.getContentType(... "+ request.getContentType());	//Post request.getContentType(... false
		System.out.println("----> request.getContentLengthLong(... "+ request.getContentLengthLong()); //request.getContentLengthLong(... 1413

		//ServletInputStream stream = request.getInputStream();

		/* errrorrrr
		 * 
		 * 2019-09-05T17:56:49.347+0300|Warning: StandardWrapperValve[uploadfiles.UploadFiles]: Servlet.service() for servlet uploadfiles.UploadFiles threw exception
			javax.servlet.ServletException: The request content-type is not a multipart/form-data
			at org.apache.catalina.fileupload.Multipart.getParts(Multipart.java:172)
		 */
		Collection<Part> p = request.getParts();
		for(Part i : p){
			System.out.println("----> Post "+ p);	
		};
		
		
	}

}
...
Рейтинг: 0 / 0
06.09.2019, 15:30
    #39858479
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
Вадя, в твоем юз кейсе без райзе срабатывает это
Collection<Part> p = request.getParts();
Что дальше?
...
Рейтинг: 0 / 0
06.09.2019, 15:32
    #39858481
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
И в заголовке ДЛЯ ОДНОГО ФАЙЛА пишется при форме
multipart/..... ;boundary=----3453e454e
...
Рейтинг: 0 / 0
06.09.2019, 15:34
    #39858482
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
Счас два фото в статике пробую.
...
Рейтинг: 0 / 0
06.09.2019, 15:37
    #39858484
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
PetroNotC SharpСчас два фото в статике пробую.ОК. Работает!!!
Вадя, значит дело не на бэке а на фронте.
Помогай!
...
Рейтинг: 0 / 0
06.09.2019, 15:41
    #39858487
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
PetroNotC Sharp,
вот так
Код: javascript
1.
2.
3.
4.
        <form action="UpLoad" method="POST" id="upl" enctype="multipart/form-data">
            <input type="file" name="fileName" multiple="multiple" />
            <input type="submit" />
        </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.
32.
33.
34.
35.
36.
37.
38.
 @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)  {

        try {
         
            Collection<Part> p = request.getParts();
            p.forEach((Part _item) -> {
                try {

                    System.out.println("----> Post " + _item.getSubmittedFileName());
                    InputStream filecontent = _item.getInputStream();
                    //
                    byte[] buffer = new byte[filecontent.available()];
                    filecontent.read(buffer);
                    Files.createDirectories(Paths.get(Singleton.getPathToPic() + "excel"));
                    File targetFile = new File(Singleton.getPathToPic() + "excel" + File.separator + _item.getSubmittedFileName());
                    try (OutputStream outStream = new FileOutputStream(targetFile)) {
                        outStream.write(buffer);
                        outStream.flush();
                    }

                   

                } catch (IOException ex) {
                    Logger.getLogger(UpLoad.class.getName()).log(Level.SEVERE, null, ex);
                }

            });
        } catch (IOException | ServletException ex) {
            Logger.getLogger(UpLoad.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        try {
            response.sendRedirect("/" + com.Singleton.PORTAL + "/page1.jsp");
        } catch (IOException ex) {
            Logger.getLogger(UpLoad.class.getName()).log(Level.SEVERE, null, ex);
        }
    }



только это
Files.createDirectories(Paths.get(Singleton.getPathToPic() + "excel"));
FSingleton.getPathToPic() + "excel"
замени на своё
загружает множество файлов
томкат, хром
...
Рейтинг: 0 / 0
06.09.2019, 15:42
    #39858488
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
PetroNotC SharpВадя, значит дело не на бэке а на фронте.
Помогай!дай время
...
Рейтинг: 0 / 0
06.09.2019, 15:45
    #39858491
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадя,

тебе с jquery?
...
Рейтинг: 0 / 0
06.09.2019, 15:47
    #39858492
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадявадя,

тебе с jquery?так меньше кода. Смотри у меня выше.
...
Рейтинг: 0 / 0
06.09.2019, 15:48
    #39858493
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig?
вадяPetroNotC SharpВадя, значит дело не на бэке а на фронте.
Помогай!дай времяне срочно. Хоть после выходных.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Upload files не выходит в GlassFish. Кто делал для servlet 3.0 c @MultipartConfig? / 25 сообщений из 68, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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