阿里云服务器上传文件方法(向云服务器传输文件步骤)

1. 准备工作:

一、首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间。
二、创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文档,这个获取值本身就不难。
重点:记下你的AccessKey ID、AccessKey Secret以及你刚才创建的Buacket名字BucketName。

2. 配置:

在pom里引入oss要用的依赖

com.aliyun.ossaliyun-sdk-oss3.10.2

在application.yml里面添加配置文件

# 定义的端口号
server:
  port: 8080

aliyun:
  oss:
    #yourEndpoint填写Bucket所在地域对应的Endpoint,可在创建好的Bucket概况页查看。
    endpoint: oss-cn-chengdu.aliyuncs.com       # 以成都为例,Endpoint填写为https://oss-cn-chengdu.aliyuncs.com
    #阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户
    accessKeyId: **********             # 阿里云账号AccessKey里所对应的AccessKey ID
    accessKeySecret: **********             # 阿里云账号AccessKey里所对应的AccessKey Secret
    bucketName: **********              # OSS对象存储空间名

3. 详细代码:

第一步:创建一个service包,新建一个AliyunOssService.java

import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;

@Service
public interface AliyunOssService {
    Map upload(MultipartFile file, String fileName);
}

第二步:在service包里创建一个impl包,新建一个AliyunOssServiceImpl.java

import com.system.demo.service.AliyunOssService;
import com.system.demo.util.FileUploadUtil;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;

@Service("aliyunOssService")
public class AliyunOssServiceImpl implements AliyunOssService {

    @Resource
    private FileUploadUtil fileUploadUtil;

    @Override
    public Map upload(MultipartFile file, String fileName){
        //定义一个目录(这里的目录可根据自己实际情况自己拼接定义)
        String path = "a";   //我这里就随便定义一个a文件夹
        //拼接,这里将路径和文件名拼接在了一起
        fileName = path + "/" +fileName;
        Map map =new HashMap();
        map.put("code", 200);
        map.put("msg", "查询成功");
        map.put("data", this.fileUploadUtil.upload(file, fileName));
        return map;
    }

}

第三步:创建一个util包,新建一个FileUploadUtil.java

本文转载自:https://www.gylmap.com

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.ObjectMetadata;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;

@Component
public class FileUploadUtil {

    @Value("${aliyun.oss.endpoint}")
    private String endpoint;

    @Value("${aliyun.oss.accessKeyId}")
    private String accessKeyId;

    @Value("${aliyun.oss.accessKeySecret}")
    private String accessKeySecret;

    @Value("${aliyun.oss.bucketName}")
    private String bucketName;

    public String upload(MultipartFile file, String fileName){
            // 写入文件
            try {
                //获取上传的输入流
                InputStream inputStream = file.getInputStream();

                //设置访问地址是默认是预览图片
                ObjectMetadata meta = new ObjectMetadata();
                meta.setContentType("image/jpg");

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

                /*
                调用oss上传到阿里云对象存储oss----Bucket存储空间
                第一个参数 bucket名称
                第二个参数 文件名称
                第三个参数 输入流
                第四个参数 文件类型
                 */
                ossClient.putObject(bucketName, fileName, inputStream, meta);

                // 删除文件。如需删除文件夹,请将ObjectName设置为对应的文件夹名称。如果文件夹非空,则需要将文件夹下的所有object删除后才能删除该文件夹。
                //ossClient.deleteObject(bucketName, "a/");

                // 关闭OSSClient。
                ossClient.shutdown();

                //上传成功后获取文件路径
                String url = "https://" + bucketName + "." + endpoint + "/"+ fileName;
                return url;
            } catch (IOException e) {
                e.printStackTrace();
            }
        return null;
    }
}

第四步:定义接口创建一个controller包,新建一个FileUpload.java

import com.system.demo.service.impl.AliyunOssServiceImpl;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.Map;

@RestController
@RequestMapping("oss")
public class FileUpload {

    @Resource
    private AliyunOssServiceImpl aliyunOssServiceImpl;

    @RequestMapping(value = "fileoss", method = RequestMethod.POST)
    public Map uploadOssFile(MultipartFile file, String fileName){
        return this.aliyunOssServiceImpl.upload(file, fileName);

    }
}

4. 测试:

首先运行启动类,在Postman进行测试
选择请求方式:POST
请求路径:
localhost:8080/oss/fileoss
选择Body–>form-data
—–第一列数据:KEY为file,选择类型为File,添加VALUE为自己想要上传的文件;
—–第二列数据:KEY为fileName,选择类型为Text,添加VALUE为的文件名

如下图:

添加完成后,点击send,发起请求,等待返回数据,返回的JSON格式中data所对应的地址,为该文件的预览地址。
同时,你也可在你的OSS里面查看你的文件。

以上就是SpringBoot整合阿里云OSS对象存储实现文件上传的详细内容

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 贸易公司经营范围类目参考(贸易公司营业执照经营范围怎么写)

    紧急提醒各位老板和财务一件大事:全国启用新版营业执照!新版《企业登记申请文书规范》和《企业登记提交材料规范》也同时启用!变化太大,建议收藏! 1、2022年起新版营业执照全面启用 …

    2022年5月20日
  • c盘扩容怎么操作(电脑c盘满了加盘的步骤)

    最近电脑特别卡,几乎卡到没有办法使用,卡到怀疑人生,打开磁盘一看,我的天,C盘只有不到1个G的储存容量了,看来得从其它盘给C盘移点空间了,如何轻松给C盘增加空间? C盘是我们的系统…

    2022年6月11日
  • 怎么在抖音上卖东西,抖音小店入驻条件及费用

    抖音橱窗出来之后,抖音小店最新规定出来后,我也更新了关于抖音小店的最新开通方法,以及一些注意事项,下面将分几点阐述。 抖音小店的基本情况 抖音小店作为一个电商变现工具,不仅自媒体人…

    2022年5月12日 专栏投稿
  • 加盟绝味鸭脖多少钱(鸭脖一天卖300的利润)

    中华小吃历史悠久,品类繁多,承载着中华民族几千年的饮食文化,传递着各地的风土人情;中华大地上各色的风味小吃正以星火燎原之势,红遍大江南北。 连锁经营是餐饮业发展的方向,经过几十年的…

    2022年7月5日 专栏投稿
  • 在宾馆怎么(附近宾馆)

    现在随着人们的生活水平的提高,人们越来越看重自身的生活品质的提高,也喜欢到处旅游,但是我们出去旅游怎么找宾馆呢?很多人不知道怎么找到合适的宾馆而被坑,还有的环境卫生不好,大大影响旅…

    2022年5月7日
  • 鼻炎怎么引起的(鼻炎是湿气重引起的吗)

    治疗鼻炎其实是一件特别轻松的事情,只要找对方法,相信很轻松就能够解决掉鼻炎的问题。其实鼻炎问题是很多人都没有办法避开的一种话题方式,因为大多数人对鼻炎都不是了解,所以治疗方法也就不…

    2022年5月8日 专栏投稿
  • 工伤赔偿多少(工伤10级能赔多少钱)

    先说鉴定1-10级伤残标准, 1-10分级系列 一级工伤鉴定标准 二级工伤鉴定标准 三级工伤鉴定标准 四级工伤鉴定标准 五级工伤鉴定标准 六级工伤鉴定标准 七级工伤鉴定标准 八级工…

    2022年5月27日 专栏投稿
  • 隆鼻价格是多少的(隆鼻多少钱)

    一个多月前, 张女士花了40800块钱, 在贵阳观山湖区的艺龄医疗美容 做了隆鼻手术。 做完手术的这一个月时间,张女士不仅没有感受到鼻子带来的美感,反而是身体接连的出现异常症状让她…

    2022年6月20日 专栏投稿
  • 米其林轮胎多少钱一个(轮胎侧面掉了一小块皮严重吗)

    每次换轮胎的时候,车主都会比较纠结,一方面是想和身边车主一样换米其林轮胎,但是看到市场上其他品牌轮胎的价格时,往往又会犹豫不决。要知道目前市场上很多品牌轮胎只要400多一条,全车换…

    2022年6月1日 专栏投稿
  • keep跑步机怎么样质量好不好!

    2018年3月19日,运动健身平台Keep推出了一台智能家用跑步机K1,也是从这台跑步机开始,Keep进入运动消费品领域。 “到现在,这台跑步机卖出了6万多台,活跃度是普通跑步机的…

    2022年5月15日
品牌推广 在线咨询
返回顶部