SpringMVC框架——本地上传和OSS上传

本文详细介绍了使用SpringMVC实现本地文件上传的两种方式,包括普通表单提交和Ajax异步上传,并详细阐述了如何配置阿里云OSS服务,通过普通方法及Ajax方式实现文件到OSS的上传。涵盖了必要的上传条件、项目配置、前端界面设计以及Controller层的实现。
摘要由CSDN通过智能技术生成

目录

1.本地上传

   1.1.1上传的必要条件

   1.1.2 文件上传

            1.2.1 普通本地上传

            1.2.2 使用ajax进行本地上传

2.OSS上传

  2.1 普通方法

   2.1.1 准备OSS的相关设置

  2.1.2 完成代码书写

 2.2 ajax方式上传


1.本地上传

        1.1.1上传的必要条件

             1.表单中。
             2.表单的提交方式method必须是post.
             3.表单上传的编码必须是二进制。enctype="multipart/form-data"
             4.input的类型必须file类型。而且该输入框必须有name属性。

        1.1.2 文件上传

                准备工作:1.创建一个maven下的web项目

                                   2.配置springmvc的配置文件

                                 3.创建一个实体类对象

@Data
public class User {
    private String name;
    private String password;
    private String headImg;
}

                        4.引入jQuery文件

    1.2.1 普通本地上传

                第一步,创建一个登录表单界面

<form method="post" action="${pageContext.request.contextPath}/upload"enctype="multipart/form-data">
        头像:<input type="file" name="myfile"/><br>
        姓名:<input type="text" name="name"/><br>
        密码:<input type="password" name="password"/><br>
        <input type="submit" value="提交">
</form>

                第二步,创建一个controller层并运行测试

@Controller
public class UploadController {
    @RequestMapping("/upload")
    //SpringMVC把上传的文件封装到multipartfile类中,调用时候名字和表单中的name保持一致
    public String upload(MultipartFile myfile, HttpServletRequest request, User user){
        HttpSession session = request.getSession();
        ServletContext servletContext = session.getServletContext();
        String path = servletContext.getRealPath("/upload");//获取工程下upload文件夹的真实路径,自己定义

        File file = new File(path);
        if (!file.exists()){//表示指定的文件路径不存在
            file.mkdir();// 创建改文件
        }
        // 获取上传的文件名
        String filename = myfile.getOriginalFilename();
        filename=new Date().getTime()+filename;


        //把上传的文件保存到目标目录
        File file1 = new File(path + "/" + filename);
        try {
            myfile.transferTo(file1);
        } catch (IOException e) {
            e.printStackTrace();
        }
        String headImg="http:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值