springboot实现图片上传到又拍云中,并且保存图片外连接路径到数据库,外连接也可访问图片(一)
注册又拍云账号,申请一个云存储空间。如果开启服务状态,开启状态把必须要进行实名认证。开启状态之后,自行申请服务即可。申请完成之后,点击配置进入下个页面不用管,直接点击存储管理。拉到最下面查看管理员授权,如果有,就记好自己创建服务的时候,设置的操作员和生成的密码。如果没有授权一个新的操作员。点击授权,填好信息创建即可。存储的图片都在文件管理里面服务准备就这样就可以了,现在来spring boot中设
·
- 注册又拍云账号,申请一个云存储空间。如果开启服务状态,开启状态把必须要进行实名认证。开启状态之后,自行申请服务即可。申请完成之后,点击配置
- 进入下个页面不用管,直接点击存储管理。
- 拉到最下面查看管理员授权,如果有,就记好自己创建服务的时候,设置的操作员和生成的密码。如果没有授权一个新的操作员。
- 点击授权,填好信息创建即可。
- 存储的图片都在文件管理里面
- 服务准备就这样就可以了,现在来spring boot中配置环境写代码测试了。(数据库部分自己设计,不展示数据库)
- [1] 引入jar。
- <dependency>
<groupId>com.upyun</groupId>
<artifactId>java-sdk</artifactId>
<version>4.1.3</version>
</dependency>
- [2] 配置文件设置一下(可以设置也可以不设置)
spring.upYunUrl=http://job-imag.test.upcdn.net/
spring.upYunbucket-name=job-imags.b0.aicdn.com
spring.upYunpath=job-imags.test.upcdn.net
spring.servlet.multipart.max-file-size=100MB
- [3] mapper层代码,sql不想写这里,写mapper.xml里面一样。
@Mapper
public interface UsersMapper extends BaseMapper<Users> {
@Update("update users" +
" set img_path=#{imgPath}" +
" where user_Id=#{userId}")
Integer addImgPath(@Param("imgPath") String imgPath, @Param("userId") Integer userId);
- [4] service层代码
public interface UsersService extends IService<Users> {
/*填充照片地址*/
Integer addImgPath(@RequestPart String imgPath,@RequestPart Integer userId);
- [5] serviceImpl层代码
@Service
public class UsersServiceImpl extends ServiceImpl<UsersMapper, Users> implements UsersService {
@Override
public Integer addImgPath(String imgPath, Integer userId) {
return baseMapper.addImgPath(imgPath,userId);
}
[6] controller层到写代码的关键了,注意userId是我要保存指定用户的头像,关键代码讲解springboot实现图片上传到又拍云中,外连接也可访问图片(二)
@PostMapping("/uploadImg")
public Result uploadImg(MultipartFile file,Integer userId) throws IOException, UpException {
UpYun upYun = new UpYun("job-imags", "dream", "GoANPm05VpUcsl4MpG9fL4PFVSBoxdH3");
String filename = file.getOriginalFilename()+UUID.randomUUID().toString()+".jpg";
System.out.println("图片名称:"+filename);
boolean re = upYun.writeFile(filename,file.getBytes(),false);
Integer a=usersService.addImgPath("http://job-imags.test.upcdn.net/"+filename,userId);
return Result.success(re);
}
- 测试
- [1] 写一个前台,代码不展示,效果图如下
- [2] 上传成功,去数据库和又拍云文件存储查看
- 图片链接:日不落头像
- 大功告成。
更多推荐
已为社区贡献3条内容
所有评论(0)