利用post上传实现图床转存到另外的服务器

作者 : 开心源码 本文共1406个字,预计阅读时间需要4分钟 发布时间: 2022-05-13 共200人阅读

利用post上传实现图床转存到另外的服务器

uploadFile方法请查看Java模拟post请求上传文件

/** * 返回状态和内容的实体类 */@Data@AllArgsConstructor@NoArgsConstructorpublic class BaseResult {    private Integer code;   // 0:请求失败   1:请求成功    private Object data;    //错误的起因或者者正确的内容}
/**  * 图床  * @param file  * @return 上传图片的结果集  */@RequestMapping(value = "imgBed",method = RequestMethod.POST)public BaseResult imgBed(@RequestParam("file") MultipartFile file) {    BaseResult baseResult = new BaseResult();    File file1 = null;//创立临时文件    if (!file.isEmpty()) {//首先判断是不是空的文件        int begin = file.getOriginalFilename().indexOf(".");//对文文件的全名进行截取而后在后缀名进行删选。        int last = file.getOriginalFilename().length();        String a = file.getOriginalFilename().substring(begin, last);//取得文件后缀名        if (a.endsWith(".jpg") || a.endsWith(".png")) {            file1 = new File("tessdata/"+ UUID.randomUUID().toString().replaceAll("-","")+".jpg");//临时文件名            try {                FileUtils.copyInputStreamToFile(file.getInputStream(), file1);                baseResult = uploadFile("https://imgurl.org/upload/ftp", "file", file1.getPath());//post转发文件到第三方图床                baseResult.setCode(1);                Pattern urls = Pattern.compile("\"url.*?jpg\"");//匹配图片链接                Matcher urlm = urls.matcher(baseResult.getData().toString());                while(urlm.find()) {                    String url = urlm.group(0);                    baseResult.setData(url.replaceAll("\"","").replaceAll("\\\\","").replaceAll("url:",""));//过滤无用字符                }            } catch (IOException e) {                baseResult.setCode(0);                baseResult.setData("操作失败"+e.getMessage());            }        } else {            baseResult.setCode(0);            baseResult.setData("文件格式有误");        }    }    if (file1 != null) {        file1.delete();//假如临时文件存在,就删除文件    }    return baseResult;}
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 利用post上传实现图床转存到另外的服务器

发表回复