栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMvc 普通文件上传到oss和AJAX上传到oss(SpringMvc07)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMvc 普通文件上传到oss和AJAX上传到oss(SpringMvc07)

1.普通上传到oss

jsp前端页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title
    



头像:
姓名:
性别:

 controller页面

package com.ykq.controller;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.ykq.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Date;


@Controller
public class UploadController3 {

    @RequestMapping("/upload3")
    public String upload3(MultipartFile myfile, HttpServletRequest request, User user){

        try {
      // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
            String endpoint = "oss-cn-hangzhou.aliyuncs.com";
      // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
            String accessKeyId = "LTAI5t8HjAEzWgAt4tuBbswj";
            String accessKeySecret = "GuZzwNjINoVl0ScdInGuKHLrTrDCF2";

          // 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

              // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
            InputStream inputStream = myfile.getInputStream();
            //获取上传的文件名
            String filename = myfile.getOriginalFilename();
            filename = new Date().getTime() + filename;
             // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
            ossClient.putObject("qy145", filename, inputStream);
            // 关闭OSSClient。
            ossClient.shutdown();
            //
//            https://qy145.oss-cn-hangzhou.aliyuncs.com/16388489433231.jpg
            String url="https://qy145."+endpoint+"/"+filename;
            request.setAttribute("imgsrc",url);
        }catch (Exception e){
            e.printStackTrace();
        }
        return "success";
    }
}
2.AJAX上传到oss

jsp前端页面

<%--
  Created by IntelliJ IDEA.
  User: 24284
  Date: 2021/12/7
  Time: 19:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title
    




头像:
姓名:
性别:

controller后台代码

package com.ykq.controller;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.ykq.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;


@Controller
public class UploadController4 {

    @RequestMapping("/upload4")
    @ResponseBody
    public Map upload4(MultipartFile myfile, HttpServletRequest request, User user) {
        Map map = new HashMap();
        try {
            // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
            String endpoint = "oss-cn-hangzhou.aliyuncs.com";
            // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
            String accessKeyId = "LTAI5t8HjAEzWgAt4tuBbswj";
            String accessKeySecret = "GuZzwNjINoVl0ScdInGuKHLrTrDCF2";

            // 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

            // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
            InputStream inputStream = myfile.getInputStream();
            //获取上传的文件名
            String filename = myfile.getOriginalFilename();
            filename = new Date().getTime() + filename;
            // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
            ossClient.putObject("qy145", filename, inputStream);
            // 关闭OSSClient。
            ossClient.shutdown();
            //
//            https://qy145.oss-cn-hangzhou.aliyuncs.com/16388489433231.jpg
            String url = "https://qy145." + endpoint + "/" + filename;
            map.put("code", 2000);
            map.put("msg", "上传成功");
            map.put("imgSrc", url);
            return map;
        } catch (Exception e) {
            e.printStackTrace();
        }
        map.put("code", 5000);
        map.put("msg", "上传失败");
        return map;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644826.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号