Springboot中的图片上传

前端jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<!--jquery需要引入的文件-->
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.js"></script>
<body>
<div>
 <form id="uploadForm" enctype="multipart/form-data">
    <input id="file" type="file" name="file"/>
    <button id="upload" type="button" onclick="getUpload()">upload</button>
</form>
</div>
</body>
<script type="text/javascript">
    function getUpload(){
        $.ajax({
            url: "http://localhost:8080/savefile",
            type: 'POST',
            dataType:"json",
            cache: false,
            data: new FormData($('#uploadForm')[0]),
            processData: false,
            contentType: false
        }).done(function(res) {
            alert(res.data);
            document.getElementById("img").src = res.data;
        }).fail(function(res) {
            alert("fail");
        });
    }
</script>
</html>

后台1(没有使用绝对路径,即报错中有at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:122))

@RestController
public class FileController {
    @RequestMapping("/savefile")
    public String saveArea(@RequestParam("file") MultipartFile file) {
        String path = "D:\\safedistrict-img";
        String url = "";//返回存储路径
        if (file != null) {
            String fileName = file.getOriginalFilename();
            File targetFile = new File(fileName);
            if (!targetFile.isDirectory()) {
                targetFile.mkdirs();
            }
            try {
                file.transferTo(targetFile);
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            url = path + fileName;
        }
        return url;
    }
}
@SpringBootApplication
public class Text1Application {

    public static void main(String[] args) {
        SpringApplication.run(Text1Application.class, args);
    }
    @Bean
    MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setLocation("D:\\safedistrict-img");
        return factory.createMultipartConfig();
    }
}

后台2(服务器中)

 @RequestMapping("/savefile")
    public String saveArea(@RequestParam("file") MultipartFile file) {
        String path = ElantripConstants.UPLOAD_PATH;
        String url = null;
        if (file != null) {
            String fileName = file.getOriginalFilename();
            File targetFile = new File(path, fileName);
            if (!targetFile.isDirectory()) {
                targetFile.mkdirs();
            }
            try {
                file.transferTo(targetFile);
            } catch (Exception e) {
                rsInfo.setMessage("上传图片出错!!");
                rsInfo.setCode("23333");
            }
            url = ElantripConstants.UPLOAD_URL + fileName;
        }
    }
public class ElantripConstants {
	public static final String UPLOAD_PATH = "/usr/share/nginx/html/www/safedistrict-upload/";
	public static final String UPLOAD_URL = "http://www.emoonbow.com/safedistrict/"; // 服务器的访问地址
	public static final String QIUNIU_UPLOAD_URL = "http://youpaiyun.zaiyoyo.com/"; // 七牛云地址
}
发布了34 篇原创文章 · 获赞 1 · 访问量 3154

猜你喜欢

转载自blog.csdn.net/weixin_43700342/article/details/89599994
今日推荐