Service 层代码
public String uploadImage(String imageUrl);
Impl 层代码
public String uploadImage(String imageUrl) { System.out.println("imageUrl="+imageUrl); try { File file = download(imageUrl); String ossPath = OssUtils.upload(file); System.out.println("ossUrl="+ossPath); file.delete(); return ossPath; } catch (Exception e) { throw new RuntimeException("上传失败"); } } private File download(String imageUrl) throws Exception { System.out.println("downloadImageUrl="+imageUrl); String suffix = imageUrl.substring(imageUrl.lastIndexOf(".") + 1); if(StringUtils.isNotBlank(suffix)&&suffix.length()>4){ suffix="jepg"; } File tempFile = File.createTempFile("img", "." + suffix); tempFile.deleteOnExit(); URL url = new URL(imageUrl); URLConnection con = url.openConnection(); con.setConnectTimeout(5 * 1000); try (InputStream is = con.getInputStream()) { byte[] bs = new byte[1024]; int len; try (OutputStream os = new FileOutputStream(tempFile)) { while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } } }catch (Exception e){ throw new RuntimeException("下载失败"); } return tempFile; }
controller 层代码
@ResponseBody @RequestMapping("/upload") public Object upload(String url){ System.out.println("url="+url); String s = userFileService.uploadImage(url); return s; }