springboot实现简单的图片上传

springboot实现简单的图片上传

1. 创建配置类

/**
 * @author flame
 * @version 1.0.0
 * @date 2020/12/13 13:35
 */

@Data
@ConfigurationProperties("portal.file")
public class FileConfig {

    private List<String> imgList;
    private String imgServerAddress;//图片访问地址
    private String attachServerAddress;//附件访问地址
    private String imageContent;//图片目录
    private String attachContent;//附件目录
}

2. 配置文件中的自定义属性

portal:
  file:
    imgList:
      - .jpg
      - .png
    imgServerAddress: http://image.flame.com/images/ #开发环境
    attachServerAddress: http://image.flame.com/attachments/ #开发环境
    imageContent: D:/document/multi_blog/images #开发环境
    attachContent: D:/document/multi_blog/attachments #开发环境

3.创建Controller

/**
  * 图片上传
  *
  * @param file 图片
  * @return 视图对象
  */
 @PostMapping("/uploadImg")
 public Result uploadImg(@RequestBody MultipartFile file) {
     String originalFilename = file.getOriginalFilename();
     if (StringUtils.isBlank(originalFilename)) {
         return new Result(StatusCode.FILE_IS_NULL);
     }
     String extensionName = originalFilename.substring(originalFilename.lastIndexOf("."));
     if (!fileConfig.getImgList().contains(extensionName)) {
         return new Result(StatusCode.IMAGES_SORT_ERROR);
     }
     String newFileName = new Date().getTime() + extensionName;
     try {
         file.transferTo(new File(fileConfig.getImageContent(), newFileName));
     } catch (IOException e) {
         return new Result(StatusCode.FILE_UPLOAD_FAIL);
     }
     //返回url
     return new Result(StatusCode.OK, fileConfig.getImgServerAddress() + newFileName);
 }
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KindEditor是一款基于JavaScript的富文本编辑器,它可以方便地集成到网站中,并支持图片上传功能。在Spring Boot中实现KindEditor图片上传可以按照以下步骤进行: 1. 在Spring Boot中添加以下依赖: ```xml <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency> ``` 2. 创建一个Controller用于处理图片上传请求,代码如下: ```java @RestController @RequestMapping("/upload") public class FileUploadController { @PostMapping("/image") public String uploadImage(HttpServletRequest request) throws Exception { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = multipartRequest.getFile("imgFile"); String filename = file.getOriginalFilename(); String suffix = filename.substring(filename.lastIndexOf(".") + 1); String newFilename = UUID.randomUUID().toString() + "." + suffix; String savePath = "D:/upload/images/" + newFilename; // 上传文件保存路径,根据实际情况修改 File destFile = new File(savePath); if (!destFile.getParentFile().exists()) { destFile.getParentFile().mkdirs(); } file.transferTo(destFile); String url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/upload/images/" + newFilename; // 图片访问URL,根据实际情况修改 return "{\"error\":0,\"url\":\"" + url + "\"}"; } } ``` 3. 在HTML页面中集成KindEditor,并设置图片上传的请求地址,代码如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>KindEditor图片上传示例</title> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/kindeditor/4.1.11/kindeditor-all.min.css" /> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/kindeditor/4.1.11/kindeditor-all.min.js"></script> </head> <body> <textarea id="editor"></textarea> <script> KindEditor.ready(function(K) { K.create('#editor', { uploadJson: '/upload/image', allowFileManager: false }); }); </script> </body> </html> ``` 4. 启动Spring Boot应用,访问HTML页面即可进行图片上传。上传的图片会保存在指定的路径中,并返回图片的访问URL给KindEditor进行显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值