上傳文件到物理路徑並下載
-
上傳文件到服務器物理路徑,以便下載使用
接口如下:
/** * * @TODO: 小程序上傳單個文件到服務器 * @param request * @param file 文件 * @throws IOException * @return(展示方法參數和返回值) */ @ResponseBody @RequestMapping("/fileUpload") public String fileUpload(@RequestParam("file") MultipartFile file){ Map<String, Object> res = new HashMap<String, Object>(); String fileName = UUID.randomUUID().toString().replaceAll("-", "") + getSuffix(file); // 判斷是否有文件 if (StringUtils.isNotBlank(fileName)) { String uploaddir= "d:/upload/"; File upload = new File(uploaddir); if(!upload.exists()) { upload.mkdirs(); } File fileinfo=new File(String.format("%s%s", uploaddir, fileName)); try { FileUtils.writeByteArrayToFile(fileinfo, file.getBytes()); } catch (IOException e) { e.printStackTrace(); } res.put("fileName", fileName); } res.put("success", "success"); String json = JSON.toJSONString(res); return json; }
該接口實現的是文件上傳到指定路徑(“d:/upload/”)下,並返回生成的文件名用於下載
-
下載物理路徑中的圖片
/** * * @TODO: 下載圖片 * @param fileId * @return(展示方法參數和返回值) */ @ResponseBody @RequestMapping("/getImg") public BaseResponse getFile(@RequestParam("fileId") String fileId) { //文件上傳到服務器之後,文件路徑保存到數據庫中,在這裏獲取路徑以便下載使用 String imgUrl = testService.selectImgUrlById(fileId); String filePath = "d:/upload/" + imgUrl; String imgBase64 = WechatDownload.downloadCheckEquipmentImg(filePath); return BaseResponseUtil.success("data:image/png;base64," + imgBase64); }