Как сохранять файлы на google диск с помощью Spring?

Есть у меня проект на Spring, на вкладке новостей хочу сохранять фотографии.
в application.properties изначально был полный путь к файлам C:\\Users\\Public\\Pictures
сейчас хотел вот на хероку залить проект, а там этот полный путь не прокатит, поэтому хотел на google диск
spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost/another_db}
spring.datasource.username=${SPRING_DATASOURCE_USERNAME:postgres}
spring.datasource.password=${SPRING_DATASOURCE_PASSWORD:root}
spring.jpa.generate-ddl=true

spring.freemarker.expose-request-attributes=true

#upload.path=C:\\Users\\Public\\Pictures
upload.path=https://drive.google.com/drive/folders/1pHwD2krPl1maSyJDzI1Fw2yTl2no9yr3?usp=sharing


участок кода на спринге

@PostMapping("/main")
    public String addMessage(@AuthenticationPrincipal User user, @RequestParam String text,
                             @RequestParam String tag, Map<String, Object> model,
                             @RequestParam("file") MultipartFile file) throws IOException {

        Message message = new Message(text, tag, user);

        if(file != null && !file.getOriginalFilename().isEmpty()){
            File uploadDir = new File(uploadPath);

            if (!uploadDir.exists() ){
                uploadDir.mkdir();
            }

            String uuidFile = UUID.randomUUID().toString();

            String resultFilename = uuidFile + "." + file.getOriginalFilename();

            file.transferTo(new File(uploadPath+"/"+resultFilename));

            message.setFilename(resultFilename);
        }


        messageRepo.save(message);

        Iterable<Message> messages = messageRepo.findAll();
        model.put("messages", messages);

        return "main";
    }


Выходит ошибка

java.io.FileNotFoundException: C:\Users\79393\AppData\Local\Temp\tomcat.4572879847737378616.8080\work\Tomcat\localhost\ROOT\https:\drive.google.com\drive\folders\1pHwD2krPl1maSyJDzI1Fw2yTl2no9yr3?usp=sharing\bb284e1d-c324-480b-8ebd-b7a8307948e2.logo.png (Синтаксическая ошибка в имени файла, имени папки или метке тома)
java.io.IOException: java.io.FileNotFoundException: C:\Users\79393\AppData\Local\Temp\tomcat.4572879847737378616.8080\work\Tomcat\localhost\ROOT\https:\drive.google.com\drive\folders\1pHwD2krPl1maSyJDzI1Fw2yTl2no9yr3?usp=sharing\bb284e1d-c324-480b-8ebd-b7a8307948e2.logo.png (Синтаксическая ошибка в имени файла, имени папки или метке тома)
  • Вопрос задан
  • 487 просмотров
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Spring
Java Software Engineer
Здравствуйте!
Не совсем понимаю, вы реализовали методы для работы с API Google Drive? Если нет, то для начала прочитайте документацию по работе с АПИ Гугл Диска.
https://developers.google.com/drive/api/v3/about-sdk

Вот, как надо реализовать загрузку файла на диск
https://developers.google.com/drive/api/v3/manage-...

Ну а дальше уже читайте...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы