当前位置: 首页 > news >正文

Java 解决阿里云OSS服务器私有权限图片通过URL无法预览的问题

简单描述一下此场景的业务:
由于系统中需要将上传的图片在系统中展示(private私有权限不能直接通过url直接展示),不想通过先下载下来然后以流的形式返回给前台展示这种方法很不友好,毕竟现在前台展示方式都是通过图片URL进行展示,所以就上官网查看API文档,果然找到了解决方案。
解决方案如下:
在这里插入图片描述
阿里云文档链接(截图只是一部分需要仔细阅读并配置):https://help.aliyun.com/zh/oss/user-guide/how-to-access-a-private-image-object-within-a-specific-period-of-time?spm=a2c4g.11186623.0.i4

找到解决方案了就要实践,废话不多说,直接上核心代码:

public static void main(String[] args) throws Throwable {String endpoint = "";String accessKeyId = "";String accessKeySecret = "";// 填写Bucket名称,例如examplebucket。String bucketName = "";// 填写Object完整路径,例如exampleobject.png。Object完整路径中不能包含Bucket名称。String objectName = "/Image/1725958878172.png";// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint,accessKeyId, accessKeySecret);try {// 设置签名URL过期时间,单位为秒,本示例以设置过期时间为1天为例。您可以根据实际业务场景,设置合理的过期时间。Date expiration = new Date(new Date().getTime() + 1 * 24 * 3600 * 1000);// 生成以GET方法访问的签名URL,在签名URL有效期内访客可以直接通过浏览器访问相关内容。GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);req.setExpiration(expiration);URL signedUrl = ossClient.generatePresignedUrl(req)

相关文章:

Java 解决阿里云OSS服务器私有权限图片通过URL无法预览的问题

简单描述一下此场景的业务: 由于系统中需要将上传的图片在系统中展示(private私有权限不能直接通过url直接展示),不想通过先下载下来然后以流的形式返回给前台展示这种方法很不友好,毕竟现在前台展示方式都是通过图片URL进行展示,所以就上官网查看API文档,果然找到了解决…...

HarmonyOS 5.0应用开发——应用打包HAP、HAR、HSP

【高心星出品】 目录 应用打包HAP、HAR、HSPModule类型HAPHAR创建HAR建立依赖HAR共享内容 HSP创建HSP建立依赖同上HSP共享内容同上 HAR VS HSP 应用打包HAP、HAR、HSP 一个应用通常会包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。在开发…...

Android demo文件内容记录

<style name"Theme.Demo1" parent"Theme.MaterialComponents.DayNight.DarkActionBar"><!-- Primary brand color. --><item name"colorPrimary">color/purple_500</item>//状态栏的背景色&#xff0c;优先级小于androi…...

掌握SQL高阶技巧,助你提高数据处理的效率和查询性能

高级 SQL 技巧 窗口函数&#xff08;Window Functions&#xff09; 窗口函数允许你对数据集的特定行执行计算&#xff0c;而不会聚合结果。常见的窗口函数包括&#xff1a; ROW_NUMBER()&#xff1a;为每一行分配一个唯一的序号。RANK()&#xff1a;为每一行分配一个排名&am…...

【AI服务器】全国产PCIe 5.0 Switch SerDes 测试和分析,以11槽PCIe GPU底板(PCIe 4.0/5.0)为例(二)

3 PCIe 4.0 SerDes 和 5.0 SerDes 要求比较 表 2 总结 PCIe 4.0 和 5.0 SerDes 要求之间的差 异。PCIe 标准包含三个相互依赖的规范&#xff0c;这些规范 旨在确保不同供应商的 SerDes 和通道的互操作性&#xff1a; ● PCIe BASE 规范定义了整个协议栈的芯片 级性能,是一…...

#数据结构(二)--栈和队列

栈和队列 一栈 1.栈的顺序存储结构 特点&#xff1a;先进后出 栈是一种只能在一端进行插入或删除操作的线性表。 表中允许插入删除操作的一端为栈顶&#xff08;top&#xff09;&#xff0c;表的另一端为栈底&#xff08;bottom&#xff09;&#xff0c; 1 结构体的定义 …...

react18中的函数组件底层渲染原理分析

react 中的函数组件底层渲染原理 react组件没有局部与全局之分&#xff0c;它是一个整体。这点跟vue的组件化是不同的。要实现 react 中的全局组件&#xff0c;可以将组件挂在react上&#xff0c;这样只要引入了react&#xff0c;就可以直接使用该组件。 函数式组件的创建 …...

提升产品竞争力之--IPD产品成本篇

在汉捷的咨询过程中&#xff0c;很多企业老总交流时都会提起这个抱怨&#xff1a;“现在产品竞争太激烈了&#xff0c;客户买产品首先看价格&#xff0c;你价格高一点就买别家的啦……” 汉捷咨询在前文谈到“通过定义产品包需求&#xff0c;来提升产品竞争力。差异化开发&…...

如何在Debian操作系统上安装Docker

本章教程&#xff0c;主要介绍如何在Debian 11 系统上安装Docker。主要使用一键安装Docker脚本和一键卸载脚本来完成。 一、安装Docker #!/bin/bashRED\033[0;31m GREEN\033[0;32m YELLOW\033[0;33m BLUE\033[0;34m NC\033[0mCURRENT_DIR$(cd "$(dirname "$0")…...

ArrayList和Array、LinkedList、Vector 间的区别

一、ArrayList 和 Array 的区别 ArrayList 内部基于动态数组实现&#xff0c;比 Array&#xff08;静态数组&#xff09; 使用起来更加灵活&#xff1a; ArrayList 会根据实际存储的元素动态地扩容或缩容&#xff0c;而 Array 被创建之后就不能改变它的长度了。ArrayList 允许…...

Linux开发环境配置(下)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…...

系统开发常用命令合集

本文还会持续更新&#xff0c;大家可以点赞收藏~ ifconfig ifconfigwlan0表示无线网络接口 eth0表示以太网接口&#xff08;有线&#xff09; HWaddr是接口的物理地址&#xff08;MAC地址&#xff09; inet addr是接口的IPv4地址 Bcast是广播地址&#xff0c;Mask是子网掩码 …...

Termius工具在MAC的使用出现的问题:

Termius工具在MAC的使用出现的问题&#xff1a; 在使用SFTP时&#xff0c;出现不了本地的文件的位置 解决方案&#xff1a; 在Apple store下载的使用不了LOCAL SFTP&#xff0c; 需要在网页上进行下载才可以&#xff1a; 官网下载地址&#xff1a;https://termius.com/down…...

浅析Android中View的绘制流程

前言 在《浅析Android中View的测量布局流程》中分析了VSYNC信号到达App进程之后开启的View布局过程&#xff0c;经过对整个View树进行遍历进行测量和布局&#xff0c;最终确定View的大小以及在屏幕中所处的位置。但是如果用户想在屏幕上看到View的内容还需要经过绘制来生成图形…...

pikachu靶场- 文件上传unsafe upfileupload

pikachu靶场- unsafe upfileupload 概述client checkMIME typegetimagesize() 概述 不安全的文件上传漏洞概述 文件上传功能在web应用系统很常见&#xff0c;比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后&#xff0c;后台会对上传的文件进行判断…...

java中this的内存原理是?

在Java中&#xff0c;this关键字是一个特殊的引用&#xff0c;指向当前对象的实例。它在以下几个方面发挥重要作用&#xff1a; 指向当前对象&#xff1a;this可以用来访问当前对象的属性和方法&#xff0c;尤其在参数命名与实例变量重名时&#xff0c;用于区分。 构造函数&a…...

Matlab 车牌识别技术

1.1设计内容及要求&#xff1a; 课题研究的主要内容是对数码相机拍摄的车牌&#xff0c;进行基于数字图像处理技术的车牌定位技术和车牌字符分割技术的研究与开发&#xff0c;涉及到图像预处理、车牌定位、倾斜校正、字符分割等方面的知识,总流程图如图1-1所示。 图1-1系统总…...

CUDA-求最大值最小值atomicMaxatomicMin

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 实现原理 atomicMax和 atomicMin是 CUDA 中的原子操作&#xff0c;用于在并行计算中安全地更新共享变量的最大值和最小值。它们确…...

新的Midjourney就是一个增强版的Photoshop,你现在可以轻松的用它换衣服、换发型了

好久没有聊 Midjourney 了&#xff0c;昨晚他们发布了一项引人注目的新功能&#xff1a;AI 图像编辑&#xff0c;一个基于网页的加强版的 Photoshop 呼之欲出&#xff0c;让我大为震撼&#xff0c;也让用户们赞叹不已。 基于现有图像进行参考&#xff0c;进而生成新的图片&…...

Linux系统安装软件的4种方式【源码配置编译安装、yum安装、rpm包安装、二进制软件包安装(.rpm/.tar.gz/.tgz/.bz2)】

一.源码安装 linux安装软件采用源码安装灵活自由&#xff0c;适用于不同的平台&#xff0c;维护也十分方便。 &#xff08;一&#xff09;源码安装流程  源码的安装一般由3个步骤组成&#xff1a; 1.配置&#xff08;configure&#xff09; Configure是一个可执行脚本…...

Fuzzz靶场学习笔记

前言正文1、端口扫描2、安卓端口反向代理3、目录遍历获取RSA密钥4、用户提权前言 本文介绍了Kali Linux的基本使用技巧和nmap常见命令&#xff0c;重点演示了端口扫描、安卓设备反向代理和权限提升过程。通过nmap扫描发现安卓设备5555端口开放&#xff0c;使用adb工具连接后&a…...

终极指南:用ncmdump彻底解决网易云音乐NCM格式限制

终极指南&#xff1a;用ncmdump彻底解决网易云音乐NCM格式限制 【免费下载链接】ncmdump ncmdump - 网易云音乐NCM转换 项目地址: https://gitcode.com/gh_mirrors/ncmdu/ncmdump 在数字音乐时代&#xff0c;格式兼容性已成为音乐爱好者面临的核心挑战。当你从网易云音乐…...

从 CDS 到服务契约,读懂 ABAP Cloud 的 Model-Driven Architecture

很多做 RAP 的同学,在 ADT 里第一次同时创建 CDS view entity、behavior definition、service definition、service binding 的时候,直觉往往是,为什么对象一下子变这么多。等项目真正推进到发票、销售订单、主数据维护、审批动作、事件集成这些场景,就会慢慢体会到,这套做…...

协作边缘AI与联邦学习如何重塑去中心化能源系统

1. 项目概述&#xff1a;当边缘智能遇见分布式能源如果你和我一样&#xff0c;在能源或者物联网行业摸爬滚打多年&#xff0c;就会深刻感受到一个趋势&#xff1a;能源系统的“大脑”正在从云端下沉&#xff0c;从中心走向边缘。过去&#xff0c;我们习惯于将海量的传感器数据—…...

【c++面向对象编程】第2篇:类与对象(一):定义第一个类——成员变量与成员函数

目录 一、从一个日常需求开始 二、定义你的第一个类 三、访问修饰符&#xff1a;public、private、protected 举个例子&#xff0c;看看区别&#xff1a; 四、成员变量怎么声明&#xff1f; 五、成员函数&#xff1a;两种实现方式 方式一&#xff1a;类内实现&#xff08…...

ai llm训练数据合成说明

一、推理服务 使用llamacpp做本地推理服务&#xff0c;使用gguf加gpu加速。 模型使用Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-GGUF llama-server.exe -m .\Qwen3.5-9B.Q4_K_M.gguf -ngl 99 -c 4096 --host 0.0.0.0 --port 8080 --parallel 4 -np …...

RTAB-Map实战:如何用databaseViewer分析SLAM闭环与优化你的地图质量

RTAB-Map深度优化&#xff1a;用databaseViewer精准诊断闭环问题与地图调优实战 当你已经能够用RTAB-Map跑通基础SLAM流程&#xff0c;却发现生成的地图总有些"不对劲"——走廊墙壁出现波浪形扭曲、重复区域无法正确对齐、导航时机器人总是撞上"空气墙"。这…...

实时代码光标同步工具:跨设备与团队协作的开发效率利器

1. 项目概述&#xff1a;一个为开发者设计的代码光标同步工具如果你和我一样&#xff0c;经常需要在多台设备、多个编辑器窗口&#xff0c;甚至是与同事进行远程结对编程时&#xff0c;保持代码编辑位置的同步&#xff0c;那么你肯定理解那种来回切换、手动寻找上次编辑位置的痛…...

基于Dify工作流构建游戏客服多智能体协作系统实践

1. 项目概述与核心思路最近在琢磨怎么把大语言模型&#xff08;LLM&#xff09;玩出点新花样&#xff0c;特别是结合具体的业务场景。相信不少朋友都体验过游戏里的客服&#xff0c;很多时候要么是预设好的关键词回复&#xff0c;要么就是转人工等半天。我就想&#xff0c;能不…...

CANN ops-nn MseLoss算子

MseLoss 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√At…...