CREATE TABLE `company` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `company_name` varchar(255) DEFAULT NULL COMMENT '企业名称',
  `business_license_url` varchar(255) DEFAULT NULL COMMENT '营业执照上传url'
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8mb4 COMMENT='公司';

准备实体类

@Data
public class Company {
  private int id;
     * 企业名称
  private String companyName;
     *营业执照上传url
  private String businessLicenseUrl;

配置图片路径

#uploadPathImg=D\:\\img\\     #本地路径
uploadPathImg=/home/uploadedImg/   #服务器路径

读取配置文件中的图片路径 

@Configuration
@EnableWebMvc
public class MyWebMvcConfiguration implements WebMvcConfigurer {
    @Value("${uploadPathImg}")
    private String uploadPathImg;
    //配置本地文件映射到url上
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //重写方法
        //修改tomcat 虚拟映射
        registry.addResourceHandler("/uploadeview/**")
                .addResourceLocations("file:"+uploadPathImg);//定义图片存放路径

上传图片请求

@RestController
 public class test(){
    @Value("${uploadPathImg}")
    private String uploadPathImg;
     @PostMapping("/upload")
    public Object upload(@RequestParam(value = "file")MultipartFile file, HttpServletRequest req, Company company) throws IOException {
        try {
            if (file != null) {
                String fileName = System.currentTimeMillis() + file.getOriginalFilename();
                String upload_file_dir=uploadPathImg;//注意这里需要添加目录信息
                String destFileName =  uploadPathImg +fileName;
                //4.第一次运行的时候,这个文件所在的目录往往是不存在的,这里需要创建一下目录(创建到了webapp下uploaded文件夹下)
                File upload_file_dir_file = new File(upload_file_dir);
                if (!upload_file_dir_file.exists())
                    upload_file_dir_file.mkdirs();
                //5.把浏览器上传的文件复制到希望的位置
                File targetFile = new File(upload_file_dir_file, fileName);
                file.transferTo(targetFile);
                company.setBusinessLicenseUrl(fileName);
            companyMapper.addCompay(company);
        }catch (Exception e){
            e.printStackTrace();
        return company;

添加图片到数据库,数据库中只存图片的名字

void addCompay(Company company);

接口的实现

<insert id="addCompay" parameterType="com.demo.entity..Compay" useGeneratedKeys="true" keyProperty="id" >
		insert into tenant
  			company_name,
			business_license_url
		values
			#{companyName},
			#{businessLicenseUrl}
	</insert>

在浏览器中 访问http://服务器ip地址/uploadeview/16126930576451612677236147shixun_1.png  即可显示图片

  该项目实现文件上传功能,在前端上传图片用户名,将图片保存在本地,同时将路径存储至数据库。之后可利用用户名进行对应存储图片路径获取和显示。 实体类和mapper   利用mybatis实现实体存储和获取   Img实体类 public class Img implements Serializable{ private static final long serialVersionUID = 899079 CREATE TABLE `company` ( `id` INT(11) PRIMARY KEY AUTO_INCREMENT, `company_name` VARCHAR(255) DEFAULT NULL COMMENT '企业名称', `business_license_url` VARCHAR(255) DEFAULT NULL COMMENT '营业执照上传url' ) ENGINE=INNODB AUTO_INCREMENT=101 DEFAULT 【SpringBoot】DEMO:上传头像路径存入数据库,展示到页面上(解决了重启服务器才可以显示图片的问题)零、效果展示一、分析需求二、工具准备三、do it四、github链接 零、效果展示 需要原码的小伙伴,找点击github链接,原码+数据表文件已上传到github 一、分析需求 上传图片服务器指定的文件夹 把图片路径和名称存入数据库图片名称加密 在html页面通过id搜索... springboot配置application.yml,这里最大文件设置默认是1MB,可以修改设置大一点,避免出现文件大小受限的错误。点击上传之后,可以在指定的F:/zp/uploadImageDir目录下看到一个随机名称的图片,为了避免产生上传重名文件导致的问题,在后台重新用UUID重新生成一个随机的文件名来保存。注意:此处使用com.mysql.jdbc.Driver驱动器,启动项目会报一个告警。实现一个前端上传图片到后台服务器指定路径,并将路径存储在数据库。然后查询数据库,可以看到图片保存的路径springboot+vue+mysql实现存储图片数据库并显示1.存储到数据库(1)前端通过element ui 上传(2)后端2.从数据库取出并显示到前端(1)前端后端PS:一般图片是不会存到数据库的,而是存到服务器上,数据库保存的是图片路径。 1.存储到数据库 (1)前端通过element ui 上传 <el-upload class="avatar-uploader" action="/api/setImage" 个人比较擅长后端,前端对于我来说比较难受的一点就需要不断的调整样式,有时候为了美观,调整了一个布局又弄乱了另外的布局,可能是我对于前端孤陋寡闻了,对于我来说,能够实现功能,而且页面布局不是那么丑陋,有许多的瑕疵我也只能忍受,我似乎并不是很想花费许多的时间在页面样式的修改上,但是一个前端开发的大佬,一定是对于样式的修改布局等有自己的主见看法,是肯为了美观花费上比较长的时间区调整样式的,也会有自己样式布局的积累,有用得上的能够很快得拎出来使用。真的,后端可以说是写的比较详细的了,没讲的在代码上面都有注释了。 @Entity @Table(name = "article_picture") public class ArticlePictureEntity extends BaseEntity implements Serializable { * 图片地址 private String url; * 文章... 上传文件的功能在开发很常见,趁着刚做完一个项目上传头像的功能,将流程记录下来方便以后复用,也有利于加深印象。 为了避免影响理解,做了简化,用户类只设置了两个字段,一个是用户id,一个是用户头像存储路径。 2.目录结构 3.功能实现 controller层 UploadController @Controller public class UploadController { 4.调用接口返回的是图片服务器上面的路径前端人员只需要拼接自己部署项目服务器的ip+端口+接口返回的路径即可在服务器端进行图片的渲染。root,resource自己随便写只需要与2步骤保持一致即可。服务器端上传文件位置的配置(application.yml)3.resourcePath,rootPath值讲解。SpringBoot实现图片上传服务器并返回路径。2.uploadFile详解实现文件服务器端处理。1.创建controller类,传入文件流。5.CommonResult内容。 Tomcat上传图片、文件等到项目目录外的其他存储位置 使用 Tomcat 作为服务器的时候,如果将上传文件保存在项目路径下,每次重启服务或者打成 war 包的时候很容易丢失上传的文件,另外就是文件多了,Tomcat容易崩,于是我们配置 Tomcat 把文件保存到项目外的其他磁盘路径: 打开 Tomcat conf 文件夹下的 server.xml 文件,在 Host 节点下添加如下配置: