首页 > 开发 > Java > 正文

springboot接收别人上传的本地视频实例代码

2024-07-14 08:41:53
字体:
来源:转载
供稿:网友
package com.videobackend.controller;import java.io.File;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;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 com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.springframework.web.multipart.MultipartFile;import com.ty.model.AdminTbl;import com.ty.model.RolePermissionTbl;import com.ty.service.PermissionService;import com.utils.Constants;import com.utils.ParamterNullCheck;import com.utils.ToInterface;import com.videobackend.model.Video;import com.videobackend.model.VideoRecommend;@Controller@RequestMapping(value = "/videoInfo")public class VideoController { /** * 调测日志记录器。 */ private static final Logger DEBUGGER = Logger.getLogger(VideoController.class); @Autowired private PermissionService permissionService; private static String FILE_ADDRESS; @Value("${file_address}") public void setfILE_ADDRESS(String fILE_ADDRESS) { FILE_ADDRESS = fILE_ADDRESS; }/** * 上传本地视频 *  * @param request * @param response * @param model * @param video * @param admintabl * @return * @throws IOException * @throws IllegalStateException */ @RequestMapping(value = "/save_local_video", method = RequestMethod.POST) @ResponseBody public String save_local_video(@RequestParam("file") MultipartFile file, Video video, AdminTbl admintabl)  throws IllegalStateException, IOException { JSONObject result = new JSONObject(); String[] args = { "admin_id", "cover", "createdTime", "title"}; JSONObject nullcheck = ParamterNullCheck.getInstance().checkNull(video, args); if (!file.isEmpty()) {  //存放地址      String path = FILE_ADDRESS;  //如果父文件夹不存在 则创建文件夹 文件夹为path,视频名字file.getOriginalFilename()  File filepath = new File(path, file.getOriginalFilename());  if (!filepath.getParentFile().exists()) {  filepath.getParentFile().mkdirs();  }  File fi = new File(path + File.separator + file.getOriginalFilename());  //下载到本地  file.transferTo(fi);      //获取绝对路径  String localAddress = fi.getAbsolutePath();  DEBUGGER.info("存入本地文件地址:" + localAddress);  video.setLocalAddress(localAddress);  //获取后缀名  String suffix= localAddress.substring(localAddress.lastIndexOf("."), localAddress.length());  DEBUGGER.info("后缀名:" + suffix);  video.setSuffix(suffix);  if (nullcheck == null) {  // 查询该 用户是否有该权限  admintabl.setUrl("/videoInfo/save_local_video");  RolePermissionTbl rpt = permissionService.get_permission(admintabl);  if (rpt != null) {   JSONObject param = null;   param = (JSONObject) JSON.toJSON(video);   DEBUGGER.info(param.toJSONString());   // 调取接口   StringBuffer saveLocalVideo = ToInterface.interfaceUtil("/video/saveLocalVideo", param.toJSONString(),    "POST");   result.put("saveLocalVideo", saveLocalVideo);  } else {   result.put("msg", Constants.NO_AUTH);  }  } else {  result = nullcheck;  } } else {  DEBUGGER.info("缺少的参数key=======" + file.getName());  result.put("msg", Constants.SYS_PARAMTER_MISSING); } return result.toJSONString(); }}

yml配置

#设置文件大小 srpingboot不设置会报错spring.servlet.multipart.max-file-size : 10mbspring.servlet.multipart.max-request-size : 100mb#文件存放地址file_address: D://image

pom配置

 <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-configuration-processor</artifactId>  <optional>true</optional> </dependency>   <dependency>       <groupId>commons-fileupload</groupId>       <artifactId>commons-fileupload</artifactId>       <version>1.2.2</version>     </dependency> 

总结

以上所述是小编给大家介绍的springboot接收别人上传的本地视频,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VeVb武林网网站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表