package com.ylwl.controller; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.text.DecimalFormat; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; 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 com.alibaba.fastjson.JSONObject; import com.ylwl.pojo.Resource2; import com.ylwl.pojo.User; import com.ylwl.service.ResourceService; import net.sf.json.JSONArray; @Controller @RequestMapping(value="/resource") public class ResouceAction { @Resource private ResourceService resourceService; @ResponseBody @RequestMapping(value="/actionForList",produces = "application/json; charset=utf-8") public String actionForList(HttpServletRequest request){ //String selector = request.getParameter("selector")==null?"":request.getParameter("selector"); //String condition = request.getParameter("condition")==null?"":request.getParameter("condition"); String mark = request.getParameter("mark2")==null?"":request.getParameter("mark2"); String fluency = request.getParameter("fluency2")==null?"":request.getParameter("fluency2"); String definition = request.getParameter("definition2")==null?"":request.getParameter("definition2"); if(mark.equals("")&&fluency.equals("")&&definition.equals("")){ List<Resource2> list = resourceService.queryForResourceList(); int total = resourceService.queryForTotal(); JSONObject jsonObject=new JSONObject(); JSONArray jsonArray =new JSONArray(); for(int i=0;i<list.size();i++){ Resource2 resource2 = list.get(i); jsonArray.add(resource2); } jsonObject.put("total", total); jsonObject.put("rows", jsonArray); return jsonObject.toJSONString(); }if (!mark.equals("")) { List<Resource2> list =resourceService.queryForResourceListByMark(mark); int total = resourceService.queryForTotalByMark(mark); JSONObject jsonObject=new JSONObject(); JSONArray jsonArray =new JSONArray(); for(int i=0;i<list.size();i++){ Resource2 resource2 = list.get(i); jsonArray.add(resource2); } jsonObject.put("total", total); jsonObject.put("rows", jsonArray); return jsonObject.toJSONString(); }if (!fluency.equals("")) { List<Resource2> list =resourceService.queryForResourceListByFluency(fluency); int total = resourceService.queryForTotalByFluency(fluency); JSONObject jsonObject=new JSONObject(); JSONArray jsonArray =new JSONArray(); for(int i=0;i<list.size();i++){ Resource2 resource2 = list.get(i); jsonArray.add(resource2); } jsonObject.put("total", total); jsonObject.put("rows", jsonArray); return jsonObject.toJSONString(); } if(!definition.equals("")) { List<Resource2> list =resourceService.queryForResourceListByDefinition(definition); int total = resourceService.queryForTotalByDefinition(definition); JSONObject jsonObject=new JSONObject(); JSONArray jsonArray =new JSONArray(); for(int i=0;i<list.size();i++){ Resource2 resource2 = list.get(i); jsonArray.add(resource2); } jsonObject.put("total", total); jsonObject.put("rows", jsonArray); return jsonObject.toJSONString(); } return null; } @RequestMapping(value="/actionForUploadFile",method=RequestMethod.POST) public String actionForUploadFile(@RequestParam(value="file") MultipartFile file, Resource2 resource,HttpServletRequest request){ long fileS = file.getSize(); String size = ""; String path = request.getSession().getServletContext().getRealPath("/"); path+="\\upload"; //String path="C:\\upload"; String fileName = file.getOriginalFilename(); int pointIndex = fileName.indexOf("."); DecimalFormat df = new DecimalFormat("#.00"); if (fileS < 1024) { size = df.format((double) fileS) + "BT"; } else if (fileS < 1048576) { size = df.format((double) fileS / 1024) + "KB"; } else if (fileS < 1073741824) { size = df.format((double) fileS / 1048576) + "MB"; } else { size = df.format((double) fileS / 1073741824) +"GB"; } // String fileName = new Date().getTime()+".jpg"; System.out.println(path); String realRath="/video-search-system/upload/"+fileName; File targetFile = new File(path, fileName); if(!targetFile.exists()){ targetFile.mkdirs(); } //保存 try { file.transferTo(targetFile); } catch (Exception e) { e.printStackTrace(); } // model.addAttribute("fileUrl", request.getContextPath()+"/upload/"+fileName); User user = (User)request.getSession().getAttribute("user"); String userId = user.getUserId(); resource.setUserId(userId); resource.setSize(size); resource.setResourcePath(realRath); resourceService.upLoadResource(resource); return "redirect:actionForResourceList"; } @RequestMapping(value="/actionForResourceList") public String actionForResourceList(){ return "list"; } @ResponseBody @RequestMapping(value="/queryForResourceById") public Resource2 queryForResourceById(HttpServletRequest request){ String videoId = request.getParameter("row"); Resource2 resource=resourceService.queryForResourceById(videoId); return resource; } @ResponseBody @RequestMapping(value="/actionForDeleteResourceById",produces = "application/json; charset=utf-8") public String actionForDeleteResourceById(HttpServletRequest request){ String videoId = request.getParameter("videoId"); int index=resourceService.actionForDeleteResourceById(videoId); if (index==1) { return "200"; }else { return "501"; } } @RequestMapping(value="/actionForWatchVideo/{videoId}") public String actionForWatchVideo(@PathVariable String videoId,ModelMap map){ Resource2 resource = resourceService.queryResourceById(videoId); map.addAttribute("url", resource.getResourcePath()); return "watchPage"; } @RequestMapping(value="/actionForDownLoadVideo/{fileName}/{type}") public void actionForDownLoadVideo(@PathVariable String type,@PathVariable String fileName, HttpServletRequest request, HttpServletResponse response) { response.setCharacterEncoding("utf-8"); response.setContentType("."+type); response.setHeader("Content-Disposition", "attachment;fileName=" + fileName); try { //String path = "C:\\upload"; String path = request.getSession().getServletContext().getRealPath("/"); path+="\\upload"; InputStream inputStream = new FileInputStream(new File(path + File.separator + fileName)); OutputStream os = response.getOutputStream(); byte[] b = new byte[2048]; int length; while ((length = inputStream.read(b)) > 0) { os.write(b, 0, length); } // 这里主要关闭。 os.close(); inputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // 返回值要注意,要不然就出现下面这句错误! //java+getOutputStream() has already been called for this response } }

不顾asdf LV7
2023年11月1日
ssh123 LV10
2023年3月27日
1806795436 LV4
2023年1月9日
wangjialiang1 LV17
2022年6月6日
ddsfsf LV2
2022年2月21日
wanglinddad LV55
2022年2月19日
最代码-宋家辉 LV61
2021年7月8日
yg010917 LV2
2021年5月11日
浴皇大帝 LV8
2021年4月20日
dcy1234 LV1
2021年4月12日

sweetbox LV10
4月11日
zouzou123 LV3
2024年10月18日
799743530 LV11
2024年7月11日
lxzlxzl LV1
2024年6月21日
llw123456789
2024年6月20日
暂无贡献等级
15103432984 LV2
2024年3月16日
李林112233 LV2
2024年1月18日
1waxzsq212345 LV2
2024年1月16日
XiaoSong888 LV3
2024年1月10日
weilaizhisheng LV21
2023年12月26日