powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузить файлы в папку проекта
12 сообщений из 12, страница 1 из 1
Загрузить файлы в папку проекта
    #39035085
NNN7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма загрузки файла:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<h3>File Upload:</h3>
Select a file to upload: 

<form action="UploadServlet" method="post"
	  enctype="multipart/form-data">
	<input type="file" name="file" size="50" />
	

	<input type="submit" value="Upload File" />
</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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
import java.io.*;
import java.util.*;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.output.*;

public class UploadServlet extends HttpServlet {

    private boolean isMultipart;
    private String filePath;
    private int maxFileSize = 1000 * 1024;
    private int maxMemSize = 100 * 1024;
    private File file ;

    public void init( ){
        // Get the file location where it would be stored.
        filePath =
                getServletContext().getInitParameter("file-upload");
    }
    public void doPost(HttpServletRequest request,
                       HttpServletResponse response)
            throws ServletException, java.io.IOException {
        // Check that we have a file upload request
        isMultipart = ServletFileUpload.isMultipartContent(request);
        response.setContentType("text/html");
        java.io.PrintWriter out = response.getWriter( );
        if( !isMultipart ){
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet upload</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<p>No file uploaded</p>");
            out.println("</body>");
            out.println("</html>");
            return;
        }
        DiskFileItemFactory factory = new DiskFileItemFactory();
        // maximum size that will be stored in memory
        factory.setSizeThreshold(maxMemSize);
        // Location to save data that is larger than maxMemSize.
        factory.setRepository(new File("c:\\temp"));

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);
        // maximum file size to be uploaded.
        upload.setSizeMax( maxFileSize );

        try{
            // Parse the request to get file items.
            List fileItems = upload.parseRequest(request);

            // Process the uploaded file items
            Iterator i = fileItems.iterator();

            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet upload</title>");
            out.println("</head>");
            out.println("<body>");
            while ( i.hasNext () )
            {
                FileItem fi = (FileItem)i.next();
                if ( !fi.isFormField () )
                {
                    // Get the uploaded file parameters
                    String fieldName = fi.getFieldName();
                    String fileName = fi.getName();
                    String contentType = fi.getContentType();
                    boolean isInMemory = fi.isInMemory();
                    long sizeInBytes = fi.getSize();
                    // Write the file
                    if( fileName.lastIndexOf("\\") >= 0 ){
                        file = new File( filePath +
                                fileName.substring( fileName.lastIndexOf("\\"))) ;
                    }else{
                        file = new File( filePath +
                                fileName.substring(fileName.lastIndexOf("\\")+1)) ;
                    }
                    fi.write( file ) ;
                    out.println("Uploaded Filename: " + fileName + "<br>");
                }
            }
            out.println("</body>");
            out.println("</html>");
        }catch(Exception ex) {
            System.out.println(ex);
        }
    }
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
            throws ServletException, java.io.IOException {

        throw new ServletException("GET method used with " +
                getClass( ).getName( )+": POST method required.");
    }
}




и настройки в web.xml :


Код: xml
1.
2.
3.
4.
5.
6.
7.
<context-param>
		<description>Location to store uploaded file</description>
		<param-name>file-upload</param-name>
		<param-value>
			/resources/
		</param-value>
	</context-param>




Но файлы грузятся в C:/resources/ .

А мне нужно загрузить их в папку проекта resources ( находится в webapp) .

Возможно ли это как-то сделать?
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035097
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNN7А мне нужно загрузить их в папку проекта resources ( находится в webapp) .
уверен что удобно грузить данные в папку веб-сервера?
Сервер может понадобится переустановить\снести\...
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035129
NNN7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123NNN7А мне нужно загрузить их в папку проекта resources ( находится в webapp) .
уверен что удобно грузить данные в папку веб-сервера?
Сервер может понадобится переустановить\снести\...

Не уверен. Но нужен хотя бы такой вариант .

У меня такая ситуация : есть в БД таблица user , в ней поле path . Пользователь загружает картинку и путь к этой картинке записывается в path .

А потом пытаюсь вставить в jsp этот path - и понятно, что ничего не получается.

Картинка сейчас загружается в папку на диске. Я так понимаю, что это не правильно .

Куда тогда в этом случае грузить картинку?
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035137
NNN7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получается только через полный путь

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
[SRC java]
	<context-param>
		<description>Location to store uploaded file</description>
		<param-name>file-upload</param-name>
		<param-value>
			D:/spring-security-login/src/main/webapp/resources/
		</param-value>
	</context-param>

[/SRC]


а можно ли как-то сделать , что бы без D:/spring-security-login ?
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035168
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNN7,
У тебя же загружает на с: диск.
При чтении из бд тоже есть или сделай такой параметр.
Я бд блоб pdf храню.
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035227
NNN7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123NNN7,
У тебя же загружает на с: диск.
При чтении из бд тоже есть или сделай такой параметр.
Я бд блоб pdf храню.

Что-то я ничего не понял. Можно подробнее о БД ?
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035231
NNN7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня сейчас картинки загружаются на диск , например , в C:/images . И path получается в виде C:/images/1.png
Но это не совсем то , что нужно .

при выводе на jsp эта картинка конечно не видна.


В бд у меня хранится путь к картинке.

Куда нужно грузить картинку? Вот этот вопрос мне не ясен.
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035271
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNN7,
У тебя учебная задача? Тогда снчала показ картинки Любой из images сервера. Рядом есть тема.
А потом туда запись. Ешь слона по частям.
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035321
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNN7Куда нужно грузить картинку? Вот этот вопрос мне не ясен.
Можно в настройках сервера прописать пути, так чтобы DefaultServlet возвращал файлы из любой папки, аналогично тому как если бы эти файлы лежали внутри модуля.
Можно завести свой собственный сервлет (а особые извращенцы могут и JSP для этого приспособить), чтобы отдавать содержимое файлов по HTTP.
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035333
NNN7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczNNN7Куда нужно грузить картинку? Вот этот вопрос мне не ясен.
Можно в настройках сервера прописать пути, так чтобы DefaultServlet возвращал файлы из любой папки, аналогично тому как если бы эти файлы лежали внутри модуля.
Можно завести свой собственный сервлет (а особые извращенцы могут и JSP для этого приспособить), чтобы отдавать содержимое файлов по HTTP.



Вот думал на счёт сервлета. Кажется , что это подходящий вариант
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035334
NNN7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123NNN7,
У тебя учебная задача? Тогда снчала показ картинки Любой из images сервера. Рядом есть тема.
А потом туда запись. Ешь слона по частям.

Нет , не совсем учебная . Скорее - для себя. Как бы так сказать.. ознакомление с технологиями.
...
Рейтинг: 0 / 0
Загрузить файлы в папку проекта
    #39035371
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NNN7Скорее - для себя
ну дак и делай по шагам. Где скриншот картинки что залил на С:\?
Удачи!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузить файлы в папку проекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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