powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
12 сообщений из 12, страница 1 из 1
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809045
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я написал проект который хранит изображение в БД(MySQL). Так вот у меня проблема возникла, у меня есть две фотографии (первый.jpeg, второй.jpeg). Так вот они нормально по названию хранятся в базе данных до тех пор пока я не поменяю название фотографии, допустим название первый.jpeg поменяю на второй.jpeg то фотография сходу меняется на первую фотографию, хотя я просто его переименовал должно меняться только название а не фотография. Я хочу использовать UUID, чтобы допустим я добавлю фото и джава сразу же дала ему уникальное имя и хранила с новым именем в БД. Помогите пожалуйста реализовать.


Контроллер
Код: 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.
package fallen.java.schoolmaven.controller;

import fallen.java.schoolmaven.service.StudentService;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.servlet.ServletContext;

import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.query.Param;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class AvatarController {

    @Autowired
    private ServletContext servletContext;

    // Constructor based Dependency Injection
    

    

   

 @GetMapping(value = "/avatar")
    public void getAvatar(HttpServletResponse response, @Param("avatar") String avatar) throws IOException {
        if(avatar == null || avatar.isEmpty()) return;
        final String avatarFolder = servletContext.getRealPath("/WEB-INF/images/");
        response.setContentType(MediaType.IMAGE_JPEG_VALUE);
        IOUtils.copy(new FileInputStream(avatarFolder + "/" + avatar), response.getOutputStream());
    }
    
     @RequestMapping(value = "/image", method = RequestMethod.GET)
    public void image(@RequestParam String url, HttpServletResponse response) throws IOException {
        InputStream in = new FileInputStream(url);
        response.setContentType(MediaType.IMAGE_JPEG_VALUE);
        IOUtils.copy(in, response.getOutputStream());
    }
} 



Код: 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.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<title>Home</title>

</head> 
<body>
    <div class="add">
        <br>
    <br>
    <br>
    
    <br>
    <center>
	<h1>${headerMessage}</h1>
	
        <form:form method="POST" action="addStudent" enctype="multipart/form-data">
             <table>

                <tr>
                    <td><label path="Name">Имя</label></td>
                    <td><input type="text" name="name"/></td>
                </tr>
                <tr>
                    <td><label path="Surname">Фамилия</label></td>
                    <td><input type="text" name="surname"/></td>
                </tr>
                <tr>
                    <td><label path="Avatar">Фотография:</label></td>
                    <td>
                        <input type="file" name="avatar"/>
                    </td>
                    
                </tr>
                <tr>
                    <td><input class="btn btn-primary" type="submit" value="Добавить"></td>
                </tr>
            </table>
        </form:form>
</center>
        </div>
</body>
</html>
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809071
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fallen2019,

Вот здесь я добавил фотки (стивджобс и биллгейтс)
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809072
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fallen2019,

А вот здесь я просто поменял название фотки "стивджобс" на "биллгейтс" и тут вместе с названием фотка поменялась (не должно быть так)
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809077
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen2019,
Делай ОТЛАДКУ.
По шагам или логами приложения.
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809085
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

У меня все нормально работает без ошибок, просто надо переписать код так чтобы он только изменял название а не саму фотографию
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809113
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen2019,

А покажи как ты создавал табличку в mysql.
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809114
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen2019,
Логируют не для ошибок. Это обязательное умение програамиста. В том числе в JS на F12.
Иначе в раздел работа.
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809620
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen2019Petro123,

У меня все нормально работает без ошибок, просто надо переписать код так чтобы он только изменял название а не саму фотографию
На мой взгляд хранить изображения как картинки на диске плохая идея.
В случае (как у вас) переименования вы получаете большой геморр так как необходимо одновременно переименовывать и имя файла в базе, и ссылку на него. Не забывайте про кеширование, которое будет вам подсовывать старый файл из кеша.

Лучше хранить изображения в базе как блобы.
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809631
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,
Либо никогда не переименовывать файл на диске. Только в табличке.
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809640
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем название файла вообще менять? Давайте им имена по id, а отображаемое имя храните в отдельном поле.
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809729
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett, мы в топике к этому сейчас подойдем.

К сожалению автор выложил огрызок бесполезного кода. А полезный скрыл.
...
Рейтинг: 0 / 0
Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
    #39809883
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettЗачем название файла вообще менять? Давайте им имена по id, а отображаемое имя храните в отдельном поле.+100500
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Уникальное имя фотографиям в БД(Spirng MVC и MySQL)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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