在SpringBoot中使用【阿里云OSS对象存储】存取图片

一、前言

这里写图片描述
1、用户文件存储在项目中,项目体积会日益增大,给日后项目代码更新、部署上传时间增长。
此外 linux、windows 的路径不一致,保存文件的路径只能使用相对路径,前端展示文件时 src 需要 + http://port/xxx 补全路径,增加了点业务逻辑。

等等。

2、OSS云存储技术优点:

1.OSS 内存省钱
2.可以使用了第三方cdn,访问速度快

3、使用了阿里云OSS技术其他优点:

1.浏览器访问图片(png、jpg…)url,显示图片;
2.浏览器访问文件(doc、pdf…)url,自动下载文件;

二、思路

1、前台上传图片给后台
这里写图片描述

2、后台把图片上传到阿里云服务器的OSS中
这里写图片描述

3、同时生成图片访问的 url,保存到数据库中
这里写图片描述

4、显示图片的时候,使用 url,如下的使用方式

<img src="url" />

这里写图片描述

二、代码

2017.7.14 更新,代码已经放在 github 上了:https://github.com/larger5/oss_aliyun_springboot.git

1、代码目录

这里写图片描述

2、entity 实体

package com.cun.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="t_picture")
public class Picture {
   
	
	@Id
	@GeneratedValue
	private Integer id;
	
	@Column(length=50)
	private String picName;

	@Column(length=200)
	private String url;
	
	public Integer getId() {
   
		return id;
	}

	public void setId(Integer id) {
   
		this.id = id;
	}

	public String getPicName() {
   
		return picName;
	}

	public void setPicName(String picName) {
   
		this.picName = picName;
	}

	public String getUrl() {
   
		return url;
	}

	public void setUrl(String url) {
   
		this.url = url;
	}


}

2、dao 接口

package com.cun.dao;

import org.springframework.data.jpa.repository.JpaRepository;

import com.cun.entity.Picture;

public interface PictureDao extends JpaRepository<Picture, Integer>{
   

}

3、Service 接口

package com.cun.service;

import java.util.List;

import com.cun.entity.Picture;

public interface PictureService {
   

	/**
	 * 删
	 * @param id
	 */
	void deletePicture(Integer id);

	/**
	 * 改
	 * @param picture
	 */
	void updatePicture(Picture picture);

	/**
	 * 查
	 * @param id
	 * @return
	 */
	Picture getPicture(Integer id);

	/**
	 * 增
	 * @param picture
	 */
	void insertPicture(Picture picture);
	
	/**
	 * 全
	 * @return
	 */
	List<Picture> getAllPictures();

}

4、Service 实现类

package com.cun.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cun.dao.PictureDao;
import com.cun.entity.Picture;
import com
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小村

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值