1. 注册又拍云账号,申请一个云存储空间。如果开启服务状态,开启状态把必须要进行实名认证。开启状态之后,自行申请服务即可。申请完成之后,点击配置在这里插入图片描述
  2. 进入下个页面不用管,直接点击存储管理。在这里插入图片描述
  3. 拉到最下面查看管理员授权,如果有,就记好自己创建服务的时候,设置的操作员和生成的密码。如果没有授权一个新的操作员。
  4. 在这里插入图片描述
  5. 点击授权,填好信息创建即可。
    在这里插入图片描述
  6. 存储的图片都在文件管理里面
    在这里插入图片描述
  7. 服务准备就这样就可以了,现在来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. 测试
  • [1] 写一个前台,代码不展示,效果图如下
  • 在这里插入图片描述
  • [2] 上传成功,去数据库和又拍云文件存储查看
  • 图片链接:日不落头像在这里插入图片描述
    在这里插入图片描述
  1. 大功告成。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐