用户实体:
package com.example.imageuploading.entity;
import jakarta.persistence.*;
import lombok.*;
import org.springframework.web.multipart.MultipartFile;
@Entity
@Table(name="profile")
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@EqualsAndHashCode
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int id;
@Column(name = "name")
private String name;
@Column(name = "email")
private String email;
@Column(name = "image")
private String image;
}
package com.example.imageuploading.dto;
import jakarta.persistence.Column;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.web.multipart.MultipartFile;
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class UserDto {
private String name;
private String email;
private String image;
}
package com.example.imageuploading.config;
import com.cloudinary.Cloudinary;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class UserConfig {
private final String CLOUD_NAME="dxexmssdr";
private final String API_KEY="122877238947871";
private final String API_SECRET="loBifIQQWeIJr8G1y5A387BOSaU";
//
// @Value("${cloudinary.cloudName}")
// private String cloudName;
//
// @Value("${cloudinary.apiKey}")
// private String apiKey;
//
// @Value("${cloudinary.apiSecret}")
// private String apiSecret;
@Bean
public Cloudinary cloudinary(){
Map<String,String> config=new HashMap<>();
config.put("cloud_name",CLOUD_NAME);
config.put("api_key",API_KEY);
config.put("api_secret",API_SECRET);
return new Cloudinary(config);
}
}
package com.example.imageuploading.service;
import com.cloudinary.Cloudinary;
import com.cloudinary.utils.ObjectUtils;
import com.example.imageuploading.dto.UserDto;
import com.example.imageuploading.entity.User;
import com.example.imageuploading.repo.UserRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Map;
@Service
public class UserService {
@Autowired
private UserRepo userRepo;
@Autowired
Cloudinary cloudinary;
public String addNewUser(UserDto userDto) throws IOException {
String imageUrl = null;
if (userDto.getImage()!= null && !userDto.getImage().isEmpty()) {
Map uploadResult = cloudinary.uploader().upload(userDto.getImage(), ObjectUtils.emptyMap());
imageUrl = (String) uploadResult.get("secure_url");
}
User user = new User();
user.setName(userDto.getName());
user.setEmail(userDto.getEmail());
user.setImage(imageUrl);
userRepo.save(user);
return "user successfully";
}
}
错误是:
2023-07-28T10:51:19.857 + 05:30警告11683 --- [nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver:已解决[org.springframework.web.HttpMediaTypeNotSupportedException:Content-Type'multipart/form-数据;边界=--------------------------380009095894841063803635;不支持字符集=UTF-8']