前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >对象存储OSS

对象存储OSS

作者头像
发布于 2021-01-20 07:51:26
发布于 2021-01-20 07:51:26
37.9K14
代码可运行
举报
文章被收录于专栏:后端JavaEE后端JavaEE
运行总次数:4
代码可运行

概述

一、定期启动腾讯云服务备份数据(自己服务备份)

FileController

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.qf.push.oss;

import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.UUID;

/**
 * zt
 * 2020/12/15
 * 11:11
 */
@RestController
@CrossOrigin
public class FileController {
    /**
     * 文件上传
     *
     */
    @RequestMapping("uploadFile")
    public String uploadFile(@RequestParam MultipartFile file) throws IOException {
        //得到源文件名
        String oldFileName = file.getOriginalFilename();
        //得到源文件后缀
        String suffix = oldFileName.substring(oldFileName.lastIndexOf("."));
        String newFileName = UUID.randomUUID().toString().replace("-", "")+suffix;
        String url = FileUtil.uploadFile(newFileName, file.getInputStream());
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("url", url);
        return jsonObject.toJSONString();
    }

}

FileUtil

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.qf.push.oss;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;

import java.io.InputStream;

/**
 * zt
 * 2020/12/15
 * 11:14
 */
public class FileUtil {

    public static OSS ossClient = new OSSClientBuilder().build(OSSConfig.endPoint, OSSConfig.AccessKeyId,OSSConfig.AccessKeySecret);
    /**
     * 上传文件
     */
    public static String uploadFile(String key, InputStream inputStream){
        //我们要是用ali的api,api是以sdk的形式调用的
        //放入阿里云的容器名、放入时候的key、放入时候的文件流
        ossClient.putObject(OSSConfig.bucketName, key, inputStream);
        return getURL(key);
    }
    /**
     * 获取url方法
     */
    public static String getURL(String fileName){
        String uploadUrl = "https://"+OSSConfig.bucketName+"."+OSSConfig.endPoint+"/"+fileName;
        return uploadUrl;
    }
}

OSSConfig

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.qf.push.oss;

/**
 * zt
 * 2020/12/15
 * 11:03
 */
public class OSSConfig {
    //oss的地址
    public static final String endPoint = "oss-cn-beijing.aliyun.com";
    //accessKey
    public static final String AccessKeyId = "LAI4GGrCjDWWxMwNpZWDLfC";
    //accessKeySecret
    public static final String AccessKeySecret = "aRLe31h5H7r30SkcPS8P4mNw1Krlj1";
    //bucketName
    public static final String bucketName = "xuzhong";


}

client.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <button onclick="onConnectionClick();">连接</button>
    <script>
        function onConnectionClick() {
            if("webSocket" in window){
                //浏览器支持webSocket
                let connectionURL = "ws://127.0.0.1:19999/ws?uid=1&token=ASDF";
                ws = new WebSocket(connectionURL);
                //当打开连接的时候
                ws.onopen=function () {
                    console.info("open");
                    sendHeartMsg();
                    setInterval("sendHeartMsg()",15000,null);
                };
                //当服务器发送给我消息的时候
                ws.onmessage=function (evt) {
                    let msg = evt.data;
                    console.info("onmessage" + msg);
                };
                //当服务器关闭连接的时候
                ws.onclose=function () {
                    console.info("onclose");
                };
            }else{
                alert("您的浏览器不支持webSocket!!!");
            }
        }

        //申请链接的时候,消息的类型是0
        //心跳1
        //其他2
        function sendHeartMsg() {
            ws.send("{\"message\":\"\",\"messageType\":\"1\"}");
        }
    </script>
</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
不错
不错
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
【VIDEO_Parent】-创作者前端-腾讯云对象存储
地址:对象存储 快速入门-SDK 文档-文档中心-腾讯云 (tencent.com)
程序员NEO
2023/11/30
2431
【VIDEO_Parent】-创作者前端-腾讯云对象存储
Flink自定义OSS的Sink
基于上篇说明的OSS异常内容和功能弱的缘故,考虑自定义Sink处理的方式。主要关注点是文件命名的动态化和高效批写入。
平常心
2021/06/11
5.3K1
基于OSS服务器的文件上传以及文件下载
Hello,今天想跟大家分享一下我近期做的项目中使用的文件上传与文件下载,其实在以前我们想要做文件上传可能要自己去搭建一个专门的服务器,然后将我们的文件上传到这个服务器上,下载就从我们这个服务器上去进行下载就行了。
一个程序员的成长
2020/11/25
7.6K0
基于OSS服务器的文件上传以及文件下载
配置文件@ConfigurationProperties读取List、Map参数
在SpringBoot环境中,我们有“使用不完的”注解。这也是SpringBoot替代了传统的Spring项目中的xml配置的原因。在使用这些annotation的时候,我们一定要了解这些注解背后的原理以及约定。
chengcheng222e
2021/11/04
6.1K0
快速入门Web开发(下)
在 list() 方法中,通过调用 deptMapper.list() 来执行查询操作,并将查询结果作为方法的返回值。这里的 deptMapper.list() 就是调用 DeptMapper 接口的 list() 方法,从数据库中获取部门数据。
Qiuner
2024/07/19
1040
快速入门Web开发(下)
Spring mvc+oss存储+fileupload多文件上传实现SSO单点登录模板管理
之前给大家介绍了sso的相关知识点和集成方案,考虑到每个系统所属行业的不同,这边针对于不同行业做了一些统一的sso单点登录界面模板,使用fileupload多文件上传+OSS阿里云存储方案。
用户7788846
2020/11/27
1.6K0
OSS简单文件上传工具类
导包 <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version> </dependency> 工具类代码: 输入要上传的文件地址,返回上传后的地址 上传任意文件 import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilde
用户9006224
2022/12/21
9.9K0
在set中已经 存在,返回<x在set中的位置,false>
int array[] = { 2, 1, 3, 9, 6, 0, 5, 8, 4, 7 };
用户7737280
2024/08/24
1250
通过S3协议实现通用的文件存储服务中间件
在日常开发文件上传相关服务时,通常都会选择腾讯云,阿里云,七牛云等提供的oss服务作为文件存储系统,如果需要自行搭建文件存储系统,通常则会采用minio等开源项目。
大忽悠爱学习
2022/09/28
5.6K0
通过S3协议实现通用的文件存储服务中间件
一文带你看懂 前后端之间图片的上传与回显
上传文件需要发送请求。在这些请求中,浏览器将数据拆分为小的“块”,然后通过连接逐个发送这些块。这是必要的,因为文件可能过大而无法一次性发送作为一个庞大的有效负载。
用户10143704
2024/03/22
2.9K0
Spring Boot 分片上传文件
最近好几个项目在运行过程中客户都提出文件上传大小的限制能否设置的大一些,用户经常需要上传好几个G的资料文件,如图纸,视频等,并且需要在上传大文件过程中进行优化实时展现进度条,进行技术评估后针对框架文件上传进行扩展升级,扩展接口支持大文件分片上传处理,减少服务器瞬时的内存压力,同一个文件上传失败后可以从成功上传分片位置进行断点续传,文件上传成功后再次上传无需等待达到秒传的效果,优化用户交互体验,具体的实现流程如下图所示(java fhadmin.cn)
FHAdmin
2021/12/28
1.8K0
SSM框架结合LayUi文件上传模块接入COS对象存储服务
在日常项目开发中经常会用到图片,视频等文件存储的操作,但是文件如果一直存放在本地服务器中,可以会导致资源浪费,且访问速度也有所限制,这时我们就会考虑CDN加速或云端存储等方式来解决问题,这里就要介绍下本文用到的COS对象存储-安全稳定、海量、便捷、低延迟、低成本的云端存储服务。
sr
2019/05/23
1.2K0
Spring boot 上传文件到腾讯云对象储存COS(完整步骤流程)
7.把刚刚我们创建的腾讯云存储桶的信息添加进Spring boot项目的配置文件中
聚优云惠
2019/12/26
10.4K0
文件访问路径规则 BucketName.Endpoint/ObjectName
@ConditionalOnMissingBean//保证spring容器只有一个AliOssUtil对象
用户7737280
2024/08/24
1450
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
文件存储已成为一个做任何应用都不可回避的需求。传统的单机文件存储方案在面对大规模数据和高并发访问时往往力不从心,而分布式文件存储系统则提供了更好的解决方案。本篇文章我将基于Spring Boot 3 为大家讲解如何基于MinIO来实现分布式文件存储。
别惹CC
2025/03/05
3600
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
Spring Boot整合MinIO实现文件上传和下载
家人们啦!,上篇文章了,我们讲了如何使用docker-compose快速部署MinIO,在今天的文章中,我将向大家介绍如何将Spring Boot与MinIO进行无缝整合,以便高效地管理和操作文件存储。通过这个整合,你将能够轻松地在Spring Boot应用程序中实现文件的上传和下载等功能。让我们开始吧
修己xj
2023/08/25
1K0
Spring Boot整合MinIO实现文件上传和下载
Spring Boot 工程集成 minio 对象存储
上一片博文里我们介绍了 minio 对象存储的部署,这篇博文 我们主要介绍下 基于minio和spring boot的工程开发
Freedom123
2024/03/29
1430
Spring Boot集成MinIO
在Spring Boot项目中集成MinIO(一个高性能的分布式对象存储服务)是一个相对简单的过程。以下是一个详细的步骤指南,帮助你完成这个集成。
科技新语
2024/12/02
2430
Spring Boot集成MinIO
写给大忙人看的 – Java中上传文件MinIO服务器(2)
上一篇 写给大忙人看的 – 搭建文件服务器 MinIO(一),我们已经成功地搭建了 MinIO 文件服务器,这一篇讲解在 Java 中如何上传文件至 MinIO
全栈程序员站长
2022/09/05
1K0
Spring Boot + MinIO 实现文件切片极速上传技术
在现代Web应用中,文件上传是一个常见的需求,尤其是对于大文件的上传,如视频、音频或大型文档。为了提高用户体验和系统性能,文件切片上传技术逐渐成为热门选择。本文将介绍如何使用Spring Boot和MinIO实现文件切片极速上传技术,通过将大文件分割成小片段并并行上传,显著提高文件上传速度。
IT_陈寒
2023/12/20
2.4K0
Spring Boot + MinIO 实现文件切片极速上传技术
推荐阅读
相关推荐
【VIDEO_Parent】-创作者前端-腾讯云对象存储
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验