Browse Source

icon

master
caoyiwen 2 years ago
parent
commit
78063068a5
  1. 31
      diet-web/src/main/java/com/mathvision/diet/controller/IconController.java
  2. 4
      diet-web/src/main/resources/application-prod.yml
  3. 3
      diet-web/src/main/resources/application.yml
  4. 1
      diet-web/src/main/resources/static/change.html
  5. 2
      diet-web/src/main/resources/static/dish.html
  6. 29
      diet-web/src/main/resources/static/icon.html
  7. 1
      diet-web/src/main/resources/static/index.html
  8. 4
      diet-web/src/main/resources/static/vender.html
  9. 1
      doc/change.md
  10. 2
      doc/dish.md
  11. 31
      doc/icon.md
  12. 1
      doc/index.md
  13. 4
      doc/vender.md

31
diet-web/src/main/java/com/mathvision/diet/controller/IconController.java

@ -0,0 +1,31 @@
package com.mathvision.diet.controller;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import java.nio.file.Paths;
@RequestMapping("/icon")
@Controller
public class IconController extends BaseController {
@Value(value = "${icon.path:icon}")
private String imagePath;
@ResponseBody
@RequestMapping(method = RequestMethod.PUT)
public String addIngredient(@RequestParam MultipartFile file) throws Exception {
Assert.notNull(file, "[参数错误]请选择要上传的文件!");
String fileName = String.format("%s.%s", System.currentTimeMillis(), FilenameUtils.getExtension(file.getOriginalFilename()));
FileUtils.copyInputStreamToFile(file.getInputStream(), Paths.get(imagePath, fileName).toFile());
return fileName;
}
}

4
diet-web/src/main/resources/application-prod.yml

@ -8,3 +8,7 @@ spring:
show-sql: false
hibernate:
ddl-auto: none
icon:
path: /data/icon

3
diet-web/src/main/resources/application.yml

@ -18,9 +18,6 @@ server:
maxHttpFormPostSize: 2MB
maxSwallowSize: 2MB
session:
invalid: 600
logging:
config: classpath:logback-spring.xml

1
diet-web/src/main/resources/static/change.html

@ -38,5 +38,6 @@
<li>枚举接口: 营养素增加了钠</li>
<li>菜品接口: 增删改查支持poly字段(烹饪手法);</li>
<li>食谱菜品: 增删改查支持poly字段(烹饪手法);</li>
<li>图片接口: 图片上传接口, 使用url访问图片; 涉及到单位头像和菜品图片的逻辑变更;</li>
</ul>

2
diet-web/src/main/resources/static/dish.html

File diff suppressed because one or more lines are too long

29
diet-web/src/main/resources/static/icon.html

@ -0,0 +1,29 @@
<h1>图片部分</h1>
<h1>1. 上传图片</h1>
<blockquote>
<p>PUT /api/icon</p>
</blockquote>
<h3>输入:</h3>
<pre><code>Content-Type: multipart/form-data; boundary=boundary
--boundary
Content-Disposition: form-data; name=&quot;file&quot;; filename=&quot;xxx.jpg&quot;
&lt; C:\Users\CCC\Documents\WeChat Files\wxid_40aqnb839lkd12\FileStorage\File\2023-09\xxx.jpg
--boundary
Content-Disposition: form-data; name=&quot;extraInfo&quot;;
</code></pre>
<h3>输出:</h3>
<pre><code>{
&quot;body&quot;: &quot;1700415785530.jpg&quot;,
&quot;code&quot;: 200,
&quot;desc&quot;: &quot;成功&quot;,
&quot;success&quot;: true
}
</code></pre>
<h1>2. 访问图片(挂在nginx目录下,不用通过api路径访问,使用前端路径访问)</h1>
<blockquote>
<p>GET /icon/12341234213.jpg</p>
</blockquote>

1
diet-web/src/main/resources/static/index.html

@ -22,6 +22,7 @@
<li><a href="menu/report.html">食谱分析协议</a></li>
</ul>
</li>
<li><a href="icon.html">ͼƬЭÒé</a></li>
</ul>
<h3>响应示例</h3>
<pre><code class="json">{

4
diet-web/src/main/resources/static/vender.html

File diff suppressed because one or more lines are too long

1
doc/change.md

@ -37,3 +37,4 @@
* 枚举接口: 营养素增加了钠
* 菜品接口: 增删改查支持poly字段(烹饪手法);
* 食谱菜品: 增删改查支持poly字段(烹饪手法);
* 图片接口: 图片上传接口, 使用url访问图片; 涉及到单位头像和菜品图片的逻辑变更;

2
doc/dish.md

File diff suppressed because one or more lines are too long

31
doc/icon.md

@ -0,0 +1,31 @@
# 图片部分
# 1. 上传图片
> PUT /api/icon
### 输入:
```
Content-Type: multipart/form-data; boundary=boundary
--boundary
Content-Disposition: form-data; name="file"; filename="xxx.jpg"
< C:\Users\CCC\Documents\WeChat Files\wxid_40aqnb839lkd12\FileStorage\File\2023-09\xxx.jpg
--boundary
Content-Disposition: form-data; name="extraInfo";
```
### 输出:
```
{
"body": "1700415785530.jpg",
"code": 200,
"desc": "成功",
"success": true
}
```
# 2. 访问图片(挂在nginx目录下,不用通过api路径访问,使用前端路径访问)
> GET /icon/12341234213.jpg

1
doc/index.md

@ -20,6 +20,7 @@
* [食谱审批协议](menu/review.md)
* [食谱发布协议](menu/release.md)
* [食谱分析协议](menu/report.md)
* [图片协议](icon.md)
### 响应示例
```json

4
doc/vender.md

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save