Commit dcaeace6 authored by m1991's avatar m1991

资讯模块 多图片上传 为空问题

parent 0ca21c2e
package cn.wisenergy.common.utils;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
/**
* Created by m1991 on 2021/2/26 11:10
*/
public class FileCreateNameUtils {
public static final String numberChar = "0123456789";
/***
* 文件名生成工具类
*/
public static String toCreateName() {
return getNowDatetoString() + generateNum(10);
}
/***
* 生成日期字符串 yyyyMMddHHmm
*
* @author MRC
* @date 2019年4月16日下午2:19:37
* @return
*/
public static String getNowDatetoString() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmm");
String dateString = formatter.format(currentTime);
return dateString;
}
/***
* 生成随机数
* @author MRC
* @date 2019年4月16日下午2:21:06
* @param len
* @return
*/
public static String generateNum(int len) {
StringBuffer sb = new StringBuffer();
Random random = new Random();
for (int i = 0; i < len; i++) {
sb.append(numberChar.charAt(random.nextInt(numberChar.length())));
}
return sb.toString();
}
}
...@@ -24,10 +24,17 @@ public interface ShopZxMapper extends BaseMapper<shopZx> { ...@@ -24,10 +24,17 @@ public interface ShopZxMapper extends BaseMapper<shopZx> {
*/ */
int zxadd(@Param("zxUrl") String zxUrl,@Param("userId") String userId,@Param("zxName") String zxName,@Param("zxField") String zxField,@Param("imgUrl") String imgUrl,@Param("zxAddress") String zxAddress); int zxadd(@Param("zxUrl") String zxUrl,@Param("userId") String userId,@Param("zxName") String zxName,@Param("zxField") String zxField,@Param("imgUrl") String imgUrl,@Param("zxAddress") String zxAddress);
/**查询方法 /**分页 资讯内容倒叙查询
* PageSize int, --每页的记录数量,比如10条
* @param * @param
* @return * @return
*/ */
List<shopZx> selectAll(); List<shopZx> selectAll(@Param("PageSize") int PageSize);
// /**查询方法
// * @param
// * @return
// */
// List<shopZx> selectAllNum(@Param("") int ,@Param("") int );
} }
...@@ -52,7 +52,12 @@ ...@@ -52,7 +52,12 @@
select zxid as zxid,zxUrl as zxUrl, select zxid as zxid,zxUrl as zxUrl,
zxLikes as zxLikes,userid as userid,zxName as zxName, zxLikes as zxLikes,userid as userid,zxName as zxName,
zxShenHe as zxShenHe,zxField as zxField,zxDate as zxDate, zxShenHe as zxShenHe,zxField as zxField,zxDate as zxDate,
imgUrl as imgUrl,zxAddress as zxAddress from shop_zx order by zxid desc imgUrl as imgUrl,zxAddress as zxAddress from shop_zx order by zxid desc LIMIT PageSize,10
</select>
<!--资讯总记录数查询-->
<select id="selectAllNum" parameterType="cn.wisenergy.model.app.shopZx" >
select count (*) from shop_zx
</select> </select>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" /> <output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" /> <output-test url="file://$MODULE_DIR$/target/test-classes" />
...@@ -72,8 +82,6 @@ ...@@ -72,8 +82,6 @@
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-test:5.1.7.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" /> <orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" /> <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" /> <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
...@@ -170,5 +178,21 @@ ...@@ -170,5 +178,21 @@
<orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" /> <orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" /> <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
<orderEntry type="library" name="Maven: org.ehcache:ehcache:3.6.3" level="project" /> <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.6.3" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco:javacv:0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco:javacpp:0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:opencv:2.4.9-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:ffmpeg:2.2.1-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:flycapture:1.7.17-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:libdc1394:2.2.2-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:libfreenect:0.4-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:videoinput:0.200-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:artoolkitplus:2.3.0-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:opencv:windows-x86_64:2.4.9-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:ffmpeg:windows-x86_64:2.2.1-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:flycapture:windows-x86_64:1.7.17-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:libdc1394:windows-x86_64:2.2.2-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:libfreenect:windows-x86_64:0.4-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:videoinput:windows-x86_64:0.200-0.8" level="project" />
<orderEntry type="library" name="Maven: org.bytedeco.javacpp-presets:artoolkitplus:windows-x86_64:2.3.0-0.8" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
...@@ -37,6 +37,8 @@ public interface UploadService { ...@@ -37,6 +37,8 @@ public interface UploadService {
* @param * @param
* @return * @return
*/ */
List<shopZx> getList(); // List<shopZx> getList();
} }
...@@ -4,10 +4,8 @@ import cn.wisenergy.common.utils.FrameGrabberKit; ...@@ -4,10 +4,8 @@ import cn.wisenergy.common.utils.FrameGrabberKit;
import cn.wisenergy.model.app.shopZx; import cn.wisenergy.model.app.shopZx;
import cn.wisenergy.service.app.UploadService; import cn.wisenergy.service.app.UploadService;
import java.io.File;
import java.io.FileInputStream; import java.io.*;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.*; import java.util.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import cn.wisenergy.mapper.ShopZxMapper; import cn.wisenergy.mapper.ShopZxMapper;
...@@ -172,12 +170,10 @@ public class UploadServiceImpl implements UploadService { ...@@ -172,12 +170,10 @@ public class UploadServiceImpl implements UploadService {
return result; return result;
} }
/**
* 获取资讯分页数据 // /**
* @return // * 获取资讯分页数据
*/ // * @return
@Override // */
public List<shopZx> getList() { // @Override
return null;
}
} }
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.service.app.UploadService; import cn.wisenergy.service.app.UploadService;
import cn.wisenergy.service.app.impl.UploadServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.*;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileOutputStream;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
import static cn.wisenergy.common.utils.exception.Result.RESULT_FLG.SUCCESS;
/** /**
* Created by m1991 on 2021/2/24 13:46 * Created by m1991 on 2021/2/24 13:46
*/ */
...@@ -27,8 +37,8 @@ public class UploadController { ...@@ -27,8 +37,8 @@ public class UploadController {
@Autowired @Autowired
private UploadService uploadService; private UploadService uploadService;
/**
/**
* @param request * @param request
* @return * @return
* @throws Exception * @throws Exception
...@@ -38,6 +48,7 @@ public class UploadController { ...@@ -38,6 +48,7 @@ public class UploadController {
* 资讯主键id* 视频/封面存放地址* 用户id(作者id) * 资讯主键id* 视频/封面存放地址* 用户id(作者id)
* 获赞数* 视频/图片名称* 审核字段* 资讯文字输入字段 * 获赞数* 视频/图片名称* 审核字段* 资讯文字输入字段
* 资讯创建时间* 图片储存地址* 资讯发表地址 * 资讯创建时间* 图片储存地址* 资讯发表地址
*
* @param file * @param file
* @param request * @param request
* @param userId * @param userId
...@@ -49,14 +60,14 @@ public class UploadController { ...@@ -49,14 +60,14 @@ public class UploadController {
@ApiOperation(value = "上传视频,返回路径给前台", notes = "上传视频,返回路径给前台", httpMethod = "POST") @ApiOperation(value = "上传视频,返回路径给前台", notes = "上传视频,返回路径给前台", httpMethod = "POST")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "zxField", value = "资讯文字", required = false, dataType = "String"), @ApiImplicitParam(name = "zxField", value = "资讯文字", required = false, dataType = "String"),
@ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String") }) @ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String")})
@RequestMapping(value ="/uploadVideo",method=RequestMethod.POST) @RequestMapping(value = "/uploadVideo", method = RequestMethod.POST)
public Map<String, Object> uploadVideo(MultipartFile file,HttpServletRequest request,String userId,String zxField,String zxAddress) throws Exception{ public Map<String, Object> uploadVideo(MultipartFile file, HttpServletRequest request, String userId, String zxField, String zxAddress) throws Exception {
return uploadService.uploadVideo(file, request,userId,zxField,zxAddress); return uploadService.uploadVideo(file, request, userId, zxField, zxAddress);
} }
/** /**
* 图片文件上传 * 图片文件上传
* *
* @param request * @param request
* @return * @return
...@@ -65,9 +76,103 @@ public class UploadController { ...@@ -65,9 +76,103 @@ public class UploadController {
@ApiOperation(value = "上传图片,返回路径给前台", notes = "上传图片,返回路径给前台", httpMethod = "POST") @ApiOperation(value = "上传图片,返回路径给前台", notes = "上传图片,返回路径给前台", httpMethod = "POST")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "zxField", value = "资讯文字", required = false, dataType = "String"), @ApiImplicitParam(name = "zxField", value = "资讯文字", required = false, dataType = "String"),
@ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String") }) @ApiImplicitParam(name = "userId", value = "用户手机号", required = true, dataType = "String")})
@RequestMapping(value ="/uploadImage",method= RequestMethod.POST) @RequestMapping(value = "/uploadImage", method = RequestMethod.POST)
public Map<String, Object> uploadImage(MultipartFile file, HttpServletRequest request,String userId,String zxField,String zxAddress) throws Exception{ public Map<String, Object> uploadImage(MultipartFile file, HttpServletRequest request, String userId, String zxField, String zxAddress) throws Exception {
return uploadService.uploadImage(file, request ,userId ,zxField,zxAddress); return uploadService.uploadImage(file, request, userId, zxField, zxAddress);
}
@ApiOperation(value = "多图片,返回路径给前台", notes = "上传图片,返回路径给前台", httpMethod = "POST")
@RequestMapping("/uploadImg")
@ResponseBody
public void uploadImg(MultipartFile file[], String areaName) throws Exception {
System.out.println("得到的areaName:" + areaName);
// 设置上传的路径是D盘下的picture
String imgPath = "D:/picture/";
for (MultipartFile f : file) {
// 图片的名字用毫秒数+图片原来的名字拼接
System.out.println(f.getSize());
System.out.println(f.getBytes());
String imgName = System.currentTimeMillis() + f.getOriginalFilename();
//上传文件
uploadFileUtil(f.getBytes(), imgPath, imgName);
}
} }
/**
* 上传文件的方法
* @param file:文件的字节
* @param imgPath:文件的路径
* @param imgName:文件的名字
* @throws Exception
*/
public void uploadFileUtil(byte[] file, String imgPath, String imgName) throws Exception {
File targetFile = new File(imgPath);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
FileOutputStream out = new FileOutputStream(imgPath + imgName);
out.write(file);
out.flush();
out.close();
}
@ApiOperation(value = "多图片,返回路径给前台", notes = "上传图片,返回路径给前台", httpMethod = "POST")
@RequestMapping("/filesUpload")
//requestParam要写才知道是前台的那个数组
public String filesUpload(@RequestParam("myfiles") MultipartFile[] files,
HttpServletRequest request) {
List<String> list = new ArrayList<String>();
if (files != null && files.length > 0) {
for (int i = 0; i < files.length; i++) {
MultipartFile file = files[i];
// 保存文件
list = saveFile(request, file, list);
}
}
//写着测试,删了就可以
// for (int i = 0; i < list.size(); i++) {
// System.out.println("集合里面的数据" + list.get(i));
// }
return "index";//跳转的页面
}
private List<String> saveFile(HttpServletRequest request,
MultipartFile file, List<String> list) {
// 判断文件是否为空
if (!file.isEmpty()) {
try {
// 保存的文件路径(如果用的是Tomcat服务器,文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夹中
// )
String filePath = request.getSession().getServletContext()
.getRealPath("/")
+ "upload/" + file.getOriginalFilename();
list.add(file.getOriginalFilename());
File saveDir = new File(filePath);
if (!saveDir.getParentFile().exists())
saveDir.getParentFile().mkdirs();
// 转存文件
file.transferTo(saveDir);
return list;
} catch (Exception e) {
e.printStackTrace();
}
}
return list;
}
// @ApiOperation(value = "资讯分页获取每页10条", notes = "资讯分页获取每页10条", httpMethod = "POST")
// @RequestMapping(value = "/findAll",method = RequestMethod.POST)
// public Object findAll(HttpServletRequest request){
//
// }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment