Java之品优购课程讲义_day05(9)

商家后台-商品录入【商品图片上传】

6.1 需求分析

在商品录入界面实现多图片上传

当用户点击新建按钮,弹出上传窗口

 

6.1 后端代码

6.1.1 工具类

(1)pinyougou-common 工程 pom.xml 引入依赖

<!-- 文件上传组件 -->

 

<dependency>

 

<groupId>org.csource.fastdfs</groupId>

 

<artifactId>fastdfs</artifactId>

 

</dependency>

 

<dependency>

 

<groupId>commons-fileupload</groupId>

 

<artifactId>commons-fileupload</artifactId>

 

</dependency>


6.1.1 配置文件(2)将“资源/fastDFS/工具类”的 FastDFSClient.java  拷贝到 pinyougou-common 工程

(1)将“资源/fastDFS/配置文件”文件夹中的  fdfs_client.conf  拷贝到  pinyougou-shop-web

工程 config 文件夹

(2)在 pinyougou-shop-web 工程 application.properties 添加配置

<property  name="defaultEncoding"  value="UTF-8"></property>

 

<!--  设定文件上传的最大值 5MB,5*1024*1024  -->

 

<property  name="maxUploadSize"  value="5242880"></property>

 

</bean>


在 pinyougou-shop-web 新建 UploadController.java6.1.1 控制层

package  com.pinyougou.shop.controller;

 

 

import  org.springframework.beans.factory.annotation.Value; import  org.springframework.web.bind.annotation.RequestMapping; import  org.springframework.web.bind.annotation.RestController; import  org.springframework.web.multipart.MultipartFile;

import  entity.Result;

 

 

import  util.FastDFSClient;

 

 

/**

 

*文件上传 Controller

 

*@author  Administrator

 

 

*

 

 

*/ @RestController

public  class  UploadController  {

 

 

 

 

@Value("${FILE_SERVER_URL}")
private  String  FILE_SERVER_URL;//文件服务器地址

 

 

@RequestMapping("/upload")

 

 

public  Result  upload(  MultipartFile  file){

 

//1、取文件的扩展名

 

String  originalFilename  =  file.getOriginalFilename();

 

String extName = originalFilename.substring(originalFilename.lastIndexOf(".")

+ 1);

 

try {

 

//2、创建一个  FastDFS  的客户端

 

FastDFSClient  fastDFSClient

 

 

=  new  FastDFSClient("classpath:config/fdfs_client.conf");

 

//3、执行上传处理

 

String  path  =  fastDFSClient.uploadFile(file.getBytes(),  extName);

 

//4、拼接返回的  url  和  ip  地址,拼装成完整的  url

 

String  url  =  FILE_SERVER_URL  +  path;

 

 

return  new  Result(true,url);

 

 

}  catch  (Exception  e)  { e.printStackTrace();

return  new  Result(false,  "上传失败");

 

}

 

}

 

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值