正在显示
8 个修改的文件
包含
215 行增加
和
1 行删除
@@ -7,6 +7,8 @@ readDirectory = /Users/mrz/Documents/java项目/test | @@ -7,6 +7,8 @@ readDirectory = /Users/mrz/Documents/java项目/test | ||
7 | #接收存储报文目录 | 7 | #接收存储报文目录 |
8 | bakDirectory = kakoRevice | 8 | bakDirectory = kakoRevice |
9 | #是否需要发送报文,默认N不发,Y将发送readDirectory下的XML扩展名的报文 | 9 | #是否需要发送报文,默认N不发,Y将发送readDirectory下的XML扩展名的报文 |
10 | +#上传文件路径,必填 | ||
11 | +uploadDirectory = upload | ||
10 | isNeedSend = Y | 12 | isNeedSend = Y |
11 | 13 | ||
12 | #IMF MEAT报头配置 | 14 | #IMF MEAT报头配置 |
1 | +package com.tianbo.warehouse.controller; | ||
2 | + | ||
3 | +import com.tianbo.warehouse.controller.response.ResultJson; | ||
4 | +import com.tianbo.warehouse.model.Attachment; | ||
5 | +import com.tianbo.warehouse.service.AttachmentService; | ||
6 | +import com.tianbo.warehouse.util.Date.DateUtil; | ||
7 | +import com.tianbo.warehouse.util.Helper; | ||
8 | +import org.apache.commons.io.FileUtils; | ||
9 | +import org.springframework.beans.factory.annotation.Autowired; | ||
10 | +import org.springframework.web.bind.annotation.PostMapping; | ||
11 | +import org.springframework.web.bind.annotation.RequestParam; | ||
12 | +import org.springframework.web.bind.annotation.RestController; | ||
13 | +import org.springframework.web.multipart.MultipartFile; | ||
14 | + | ||
15 | +import java.io.File; | ||
16 | +import java.io.IOException; | ||
17 | + | ||
18 | +import static com.tianbo.warehouse.util.IO.FileTool.readProperties; | ||
19 | + | ||
20 | +@RestController | ||
21 | +public class UploadController { | ||
22 | + | ||
23 | + @Autowired | ||
24 | + private AttachmentService attachmentService; | ||
25 | + | ||
26 | + /** | ||
27 | + * 单个文件上传 | ||
28 | + * @param file | ||
29 | + * @return | ||
30 | + * @throws Exception | ||
31 | + */ | ||
32 | + @PostMapping("/upload") | ||
33 | + public ResultJson upload(@RequestParam MultipartFile file) throws Exception { | ||
34 | + ResultJson resultJson = new ResultJson(); | ||
35 | + if (null!=file && !file.isEmpty() && file.getSize()>0){ | ||
36 | + byte[] filebyte = file.getBytes(); | ||
37 | + String fileLitleName = file.getName(); | ||
38 | + String fileName = file.getOriginalFilename(); | ||
39 | + String fileType = fileName.substring((fileName.lastIndexOf("."))); | ||
40 | + String saveDir = readProperties("uploadDirectory"); | ||
41 | + StringBuffer stringBuffer = new StringBuffer(); | ||
42 | + String saveFileName = stringBuffer.append(saveDir).append("/").append(DateUtil.getToday()).append("/").append(Helper.getUUID()).append(fileType).toString(); | ||
43 | + File saveFile = new File(saveFileName); | ||
44 | + if(!saveFile.getParentFile().exists()){ | ||
45 | + saveFile.mkdirs(); | ||
46 | + } | ||
47 | + | ||
48 | + try{ | ||
49 | + FileUtils.writeByteArrayToFile(saveFile,filebyte); | ||
50 | + Attachment attachment = new Attachment(saveFileName); | ||
51 | + int i =attachmentService.insertSelective(attachment); | ||
52 | + resultJson = (i==1 ? new ResultJson("200","附件入库成功",saveFileName) :new ResultJson("500","附件入库失败")); | ||
53 | + }catch (IOException e){ | ||
54 | + resultJson = new ResultJson("400","附件存储失败",e); | ||
55 | + e.printStackTrace(); | ||
56 | + }catch (IllegalStateException e){ | ||
57 | + resultJson = new ResultJson("400","附件存储失败",e); | ||
58 | + e.printStackTrace(); | ||
59 | + } | ||
60 | + } | ||
61 | + return resultJson; | ||
62 | + } | ||
63 | + | ||
64 | + /** | ||
65 | + * 批量上传 | ||
66 | + * @param files | ||
67 | + * @return | ||
68 | + * @throws Exception | ||
69 | + */ | ||
70 | + @PostMapping("/uploads") | ||
71 | + public ResultJson upload(MultipartFile[] files) throws Exception { | ||
72 | + if (files!=null && files.length>0){ | ||
73 | + // ... 处理文件储存逻辑 | ||
74 | + for (MultipartFile file : files) { | ||
75 | + if (!file.isEmpty() && file.getSize()>0){ | ||
76 | + String fileName = file.getName(); | ||
77 | + String fileType = file.getContentType(); | ||
78 | + String saveDir = readProperties("uploadDirectory"); | ||
79 | + StringBuffer stringBuffer = new StringBuffer(); | ||
80 | + stringBuffer.append(saveDir).append("/").append(DateUtil.getToday()).append("/").append(fileType).append(Helper.getUUID()).append(fileName); | ||
81 | + File saveFile = new File(stringBuffer.toString()); | ||
82 | + try{ | ||
83 | + file.transferTo(saveFile); | ||
84 | + }catch (IOException e){ | ||
85 | + e.printStackTrace(); | ||
86 | + }catch (IllegalStateException e){ | ||
87 | + e.printStackTrace(); | ||
88 | + } | ||
89 | + | ||
90 | + } | ||
91 | + | ||
92 | + } | ||
93 | + } | ||
94 | + return new ResultJson(); | ||
95 | + } | ||
96 | +} |
1 | +package com.tianbo.warehouse.dao; | ||
2 | + | ||
3 | +import com.tianbo.warehouse.model.Attachment; | ||
4 | + | ||
5 | +public interface AttachmentMapper { | ||
6 | + int deleteByPrimaryKey(Integer aid); | ||
7 | + | ||
8 | + int insert(Attachment record); | ||
9 | + | ||
10 | + int insertSelective(Attachment record); | ||
11 | + | ||
12 | + Attachment selectByPrimaryKey(Integer aid); | ||
13 | + | ||
14 | + int updateByPrimaryKeySelective(Attachment record); | ||
15 | + | ||
16 | + int updateByPrimaryKey(Attachment record); | ||
17 | +} |
1 | +package com.tianbo.warehouse.service.imp; | ||
2 | + | ||
3 | +import com.tianbo.warehouse.dao.AttachmentMapper; | ||
4 | +import com.tianbo.warehouse.model.Attachment; | ||
5 | +import com.tianbo.warehouse.service.AttachmentService; | ||
6 | +import org.springframework.beans.factory.annotation.Autowired; | ||
7 | +import org.springframework.stereotype.Service; | ||
8 | + | ||
9 | +@Service | ||
10 | +public class AttachmentServiceImp implements AttachmentService { | ||
11 | + | ||
12 | + @Autowired | ||
13 | + private AttachmentMapper attachmentMapper; | ||
14 | + | ||
15 | + @Override | ||
16 | + public int insertSelective(Attachment record){ | ||
17 | + return attachmentMapper.insertSelective(record); | ||
18 | + } | ||
19 | +} |
@@ -45,6 +45,6 @@ | @@ -45,6 +45,6 @@ | ||
45 | <property name="enableSubPackages" value="true"/> | 45 | <property name="enableSubPackages" value="true"/> |
46 | </javaClientGenerator> | 46 | </javaClientGenerator> |
47 | <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> | 47 | <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> |
48 | - <table tableName="log" domainObjectName="LOG" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> | 48 | + <table tableName="attachment" domainObjectName="Attachment" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> |
49 | </context> | 49 | </context> |
50 | </generatorConfiguration> | 50 | </generatorConfiguration> |
1 | +<?xml version="1.0" encoding="UTF-8" ?> | ||
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > | ||
3 | +<mapper namespace="com.tianbo.warehouse.dao.AttachmentMapper" > | ||
4 | + <resultMap id="BaseResultMap" type="com.tianbo.warehouse.model.Attachment" > | ||
5 | + <id column="aid" property="aid" jdbcType="INTEGER" /> | ||
6 | + <result column="path" property="path" jdbcType="VARCHAR" /> | ||
7 | + </resultMap> | ||
8 | + <sql id="Base_Column_List" > | ||
9 | + aid, path | ||
10 | + </sql> | ||
11 | + <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" > | ||
12 | + select | ||
13 | + <include refid="Base_Column_List" /> | ||
14 | + from attachment | ||
15 | + where aid = #{aid,jdbcType=INTEGER} | ||
16 | + </select> | ||
17 | + <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" > | ||
18 | + delete from attachment | ||
19 | + where aid = #{aid,jdbcType=INTEGER} | ||
20 | + </delete> | ||
21 | + <insert id="insert" parameterType="com.tianbo.warehouse.model.Attachment" > | ||
22 | + insert into attachment (aid, path) | ||
23 | + values (#{aid,jdbcType=INTEGER}, #{path,jdbcType=VARCHAR}) | ||
24 | + </insert> | ||
25 | + <insert id="insertSelective" parameterType="com.tianbo.warehouse.model.Attachment" > | ||
26 | + insert into attachment | ||
27 | + <trim prefix="(" suffix=")" suffixOverrides="," > | ||
28 | + <if test="aid != null" > | ||
29 | + aid, | ||
30 | + </if> | ||
31 | + <if test="path != null" > | ||
32 | + path, | ||
33 | + </if> | ||
34 | + </trim> | ||
35 | + <trim prefix="values (" suffix=")" suffixOverrides="," > | ||
36 | + <if test="aid != null" > | ||
37 | + #{aid,jdbcType=INTEGER}, | ||
38 | + </if> | ||
39 | + <if test="path != null" > | ||
40 | + #{path,jdbcType=VARCHAR}, | ||
41 | + </if> | ||
42 | + </trim> | ||
43 | + </insert> | ||
44 | + <update id="updateByPrimaryKeySelective" parameterType="com.tianbo.warehouse.model.Attachment" > | ||
45 | + update attachment | ||
46 | + <set > | ||
47 | + <if test="path != null" > | ||
48 | + path = #{path,jdbcType=VARCHAR}, | ||
49 | + </if> | ||
50 | + </set> | ||
51 | + where aid = #{aid,jdbcType=INTEGER} | ||
52 | + </update> | ||
53 | + <update id="updateByPrimaryKey" parameterType="com.tianbo.warehouse.model.Attachment" > | ||
54 | + update attachment | ||
55 | + set path = #{path,jdbcType=VARCHAR} | ||
56 | + where aid = #{aid,jdbcType=INTEGER} | ||
57 | + </update> | ||
58 | +</mapper> |
-
请 注册 或 登录 后发表评论