A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 谷粒姐姐 于 2018-8-17 15:07 编辑

商家后台-商品录入【商品图片上传】
6.1 需求分析
在商品录入界面实现多图片上传
当用户点击新建按钮,弹出上传窗口

6.1 后端代码
6.1.1 工具类
(1)pinyougou-common 工程 pom.xml 引入依赖
[AppleScript] 纯文本查看 复制代码
<!-- 文件上传组件 -->

<dependency>

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

<artifactId>fastdfs</artifactId>

</dependency>

<dependency>

<groupId>commons-fileupload</groupId>

<artifactId>commons-fileupload</artifactId>

</dependency>
(2)将“资源/fastDFS/工具类”的 FastDFSClient.java  拷贝到 pinyougou-common 工程
6.1.1 配置文件
(1)将“资源/fastDFS/配置文件”文件夹中的  fdfs_client.conf  拷贝到  pinyougou-shop-web
工程 config 文件夹
(2)在 pinyougou-shop-web 工程 application.properties 添加配置
[AppleScript] 纯文本查看 复制代码
<property  name="defaultEncoding"  value="UTF-8"></property>

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

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

</bean>
6.1.1 控制层
在 pinyougou-shop-web 新建 UploadController.java
[AppleScript] 纯文本查看 复制代码
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}")
[AppleScript] 纯文本查看 复制代码
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 个回复

您需要登录后才可以回帖 登录 | 加入黑马