商家後臺-商品錄入【商品圖片上傳】
6.1 需求分析
在商品錄入界面實現多圖片上傳
當用戶點擊新建按鈕,彈出上傳窗口
6.1 後端代碼
6.1.1 工具類
(1)pinyougou-common 工程 pom.xml 引入依賴
```
org.csource.fastdfs
fastdfs
commons-fileupload
commons-fileupload
```
(2)將“資源/fastDFS/工具類”的 FastDFSClient.java 拷貝到 pinyougou-common 工程
6.1.1 配置文件
(1)將“資源/fastDFS/配置文件”文件夾中的 fdfs_client.conf 拷貝到 pinyougou-shop-web
工程 config 文件夾
(2)在 pinyougou-shop-web 工程 application.properties 添加配置
![](http://i2.51cto.com/images/blog/201808/17/7c279c82ac920ca648d12ec83fb6fff2.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
```
```
```
```
6.1.1 控制層
在 pinyougou-shop-web 新建 UploadController.java
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, "上傳失敗");
}
}
}