当前位置:首页 » 文件管理 » oss图上传

oss图上传

发布时间: 2023-05-25 02:11:53

❶ vue3 oss - sdk 上传图片

一、操作步骤

3.使用,并上传:

❷ 有谁使用过阿里云oss的吗多文件多图时怎么上传

前段时间正好做个项目,就是用的oss,普通上传和断点续传,代码贴出来,看是不是你需要的public class OssManage {public static String ACCESS_KEY_ID = null;public static String ACCESS_KEY_SECRET = null;public static String ENDPOINT = null;public static String BUCKETNAME = null;public static String BUCKETNAME_VIDEO = null;public static String OUT_OF_DATE = null;private OSSClient client = null;private ObjectMetadata meta = null;static{try {ACCESS_KEY_ID = SysConst.getProperty("OSS_ACCESS_KEY_ID");ACCESS_KEY_SECRET = SysConst.getProperty("OSS_ACCESS_KEY_SECRET");ENDPOINT = SysConst.getProperty("OSS_ENDPOINT"); BUCKETNAME = SysConst.getProperty("OSS_BUCKETNAME"); BUCKETNAME_VIDEO = SysConst.getProperty("OSS_BUCKETNAME_VIDEO"); OUT_OF_DATE = SysConst.getProperty("OSS_OUT_OF_DATE");} catch (java.lang.Exception e) {e.printStackTrace();}}public void init(){ // 初始化一个OSSClient client = new OSSClient(ENDPOINT,ACCESS_KEY_ID, ACCESS_KEY_SECRET); meta = new ObjectMetadata();}/** * @Description: 上传文件到OSS文件服务器 * @param content 文件流 * @param key 上传为OSS文件服务器的唯一标识 * @param mimeType 文档类型 * @throws Exception * @ReturnType:String OSSObject的ETag值。*/public String uploadFile(InputStream content,String key,String mimeType) throws Exception{//进行初始化init(); // 必须设置ContentLength meta.setContentType(mimeType); // 上传Object. LogUtil.printConsoleLog("*****************上传图片到oss服务器开始*****************" + key); PutObjectResult result = client.putObject(BUCKETNAME, key, content, meta); LogUtil.printConsoleLog("*****************上传图片到oss服务器结束*****************" + key); return result.getETag();}/** * @Description: 根据key获取oss服务器上的图片地址 * @param key * @return * @ReturnType:String*/public String getImgURl(String key){init();Date expires = new Date (new Date().getTime() + Integer.parseInt(OUT_OF_DATE)); // 30 minute to generatePresignedUrlRequest ;if(key.startsWith("msplatform")){generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);}else {generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);}generatePresignedUrlRequest.setExpiration(expires);URL url = client.generatePresignedUrl(generatePresignedUrlRequest);return url.toString();}/** * @Description:根据key获取oss服务器上的ipa文件地址 * @param key * @return * @ReturnType:String */public String getIpaURl(String key){init();Date expires = new Date(new Date().getTime()+ 10*365*24*3600*1000);GeneratePresignedUrlRequest generatePresignedUrlRequest ;if(key.startsWith("msplatform")){generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);}else {generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);}generatePresignedUrlRequest.setExpiration(expires);URL url = client.generatePresignedUrl(generatePresignedUrlRequest);return url.toString();}/** * @Description: 根据key获取oss服务器上的图片地址 * @param key * @return * @ReturnType:String*/public InputStream getObject(String key){init();OSSObject object = null;if(key.startsWith("msplatform")){object= client.getObject(BUCKETNAME, key);}else{object= client.getObject(BUCKETNAME_VIDEO, key);}object.getObjectMetadata().getContentType();// 获取Object的输入流InputStream objectContent = object.getObjectContent();return objectContent;}/** * @Description:删除文件 * @param key OSS文件服务器上文件的唯一标识 * @ReturnType:void*/public void deleteFile(String key){init();client.deleteObject(BUCKETNAME, key);}/** * @Description: 断点上传文件到OSS文件服务器 * @param content 文件流 * @param key 上传为OSS文件服务器的唯一标识 * @param position 位置*/public String appendObjectFile(InputStream content,String key,int position,String mimeType) throws Exception{ //进行初始化 init(); // 必须设置ContentLength meta.setContentLength(position); meta.setContentType(mimeType); meta.setCacheControl("no-cache"); meta.setContentEncoding("utf-8"); // 上传 LogUtil.printConsoleLog("*****************断点上传图片到oss服务器开始*****************" + key); AppendObjectRequest appendObjectRequest = new AppendObjectRequest(BUCKETNAME, key, content, meta); appendObjectRequest.setPosition(Long.valueOf(position)); AppendObjectResult appendObjectResult =client.appendObject(appendObjectRequest); LogUtil.printConsoleLog("*****************断点上传图片到oss服务器结束*****************" + key); return appendObjectResult.getNextPosition().toString();}public static void main(String[] args) {OssManage ossManage = new OssManage();}}

❸ OSS  上传图片错误码 403

使用OSS上传图片到阿里云时,报姿态闷错误码403,提示:The OSS Access Key Id you provided does not exist in our records.,

官方给出的闭宏排查结果是:AccessKeyID禁用或不存在,但是登录阿里云控制台 AccessKey 管理 发现AccessKeyID正确,并启用着状态.以为是AccessKeyID与解析视频是两个ID,试了还是报403.所以并不是AccessKeyID的问题,那就是KeySecret或者token的问题.

最终换了一个解决思路,不使用OSSStsTokenCredentialProvider创建OSSCredentialProvider,使用的- (instancetype)initWithPlainTextAccessKey:(NSString *)accessKey secretKey:(NSString *)secretKey __attribute__((deprecated("We recommend the STS authentication mode on mobile")));方法来创建OSSCredentialProvider,这样就避免了token错误的问题,果然迹弯,用了这个方法图片上传成功了.

希望能帮到遇到这个问题的童鞋们.

❹ Android图片上传到阿里云OSS小案例

1.在管理控制台找到OOS并开通
2.点击存储空间,创建bucket

1、 Android SDK开发包
Android Studio方式(推荐) Maven依赖

2、权限设置
在 AndroidManifest.xml 文件中已经配置了这些权限,否则,SDK 将无法正常工作。

3.混淆设置
修改 项目名app[proguard-rules.pro ]路径下的proguard-rules.pro文件

4.写工具类
(1)首先要有4个数据
END_POINT 、BUCKET_NAME 、Access Key ID、Access Key Secret
创建你的Access Key 然后将需要的值复制粘贴到工具类对应位置

(2)写工具类,UploadHelper

(按钮点击上传一张图片,因为测试,我就把图片路径写死了)
1、写一个leyout

2.对应的Java类

3、结果验证

看到如上结果,那恭喜你大功告成了。
[ps]有的人可能有个地方会报错,当然不能原原本本的抄了

这里要换成你自己的全局Application Content,

另外,一个HashUtil.java

本文链接: https://blog.csdn.net/qq_37971615/article/details/81975465

❺ iOS阿里云OSS上传多张图片和视频

1.从服务器获取上传需要的 accessKeyId, accessKeySecret, securityToken;如果你们是本地直接配置,不需要从服务器拿直接省略。

2.配置OSSTask

3.1 上传图片

3.2 上传视频

❻ oss 图片处理

图片处理文章链接

使用:

原始图片上传到OSS后 ,可以通过简单的RESTful接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。

( 接口正常上传图片 返回oss图片之后 再对图片进行处理)

>>>接口上传oss照片

1.获取oss相关参数

/api/admin/vendor/uploadToken?path=images/

2.上传图片file到oss

http://zhuoyou-shop-test.oss-cn-hangzhou.aliyuncs.com/

3.拼接图片地址:

图片地址 =  host(接口1返回的)+dir(接口1返回的)+file.name

eg:......

https://zhuoyou-shop-test.oss-cn-hangzhou.aliyuncs.com/images/4.jpg

>>>>>> 图片处理 使用方式有好几种:

>匿名访问(通过添加处理参数对图片进行处理)

通过如下格式的三级域名匿名访问处理后的图片:

http://.......?x-oss-process=image/<yourAction>,<yourParamValue>

>授权访问 eg:

let OSS =require('ali-oss');

let client =new OSS({accessKeyId:'',accessKeySecret:'',bucket:'',endpoint:''});

let signUrl = client.signatureUrl('example.jpg', {expires:600,'process':'image/resize,w_300'});

过期时间10分钟, 图片处理式样"image/resize,w_300"

>SDK访问  eg:

let OSS =require('ali-oss');

.......

 缩放 client.signatureUrl('example.jpg', {expires:3600,process:'image/resize,m_fixed,w_100,h_100'}) 

图片处理功能也很多:  

获取图片信息 ,  图片格式转换 ,  图片缩放 ,  图片裁剪 ,  图片旋转 ,  图片效果 ,  图片水印 ,  自定义图片处理样式 ,  级联处理

以下都用的是第一种方式 匿名访问 方式处理图片:http://.......?x-oss-process=image/xx,xx

有各悉棚毁个图片操作指南地址

指南地址

1.图片水印介绍

介绍地址

水印参数和塌:睁备 watermark

t 可选参数,指定水印的透明度。

g 可选参数,指定水印在图片中的位置,[nw,north,ne,west,center,east,sw,south,se]

x 可选参数,指定水印的水平边距, 即距离图片边缘的水平距离。水印位置是左上、左中、左下、右上、右中、右下

y 可选参数,指定水印的垂直边距,即距离图片边缘的垂直距离, 水印位置是左上、中上、右上、左下、中下、右下

voffset 可选参数,指定水印的中线垂直偏移。水印位置在左中、中部、右中时,可以指定水印位置根据中线往上或者往下偏移

图片水印参数:image

文字水印参数:

text必选参数 ,指定文字水印的文字内容。参数值为文字内容进行Base64编码后的字符串。

(文字水印内容必须是通过以下方法进行Base64编码后的字符串  最大长度为64个字符(即支持汉字最多20个左右)。)

type 可选参数,指定文字水印的文字类型。

默认值:wqy-zenhei( 编码后的值:d3F5LXplbmhlaQ)

color 可选参数,指定文字水印的文字颜色。默认值:000000(黑色)

size 可选参数,指定文字水印的文字大小(单位为px)。(0,1000]

shadow可选参数,指定文字水印的阴影透明度。[0,100]

rotate 可选参数,指定文字顺时针旋转角度。[0,360]

fill 可选参数,指定是否将水印铺满原图。0、1

1:表示将水印铺满原图。

0:表示不将水印铺满全图。

~水印图片目前仅支持 PNG、JPG 和 WebP 格式。

加水印图片后缀示例eg:

?x-oss-process=image/watermark,rotate_30,fill_1,size_20,color_B0C4DE,shadow_50,t_100,g_center,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ

rotate_30:旋转角度

fill:水印是铺满 还是单独一个水印

size:水印文字大小;

color:水印文字颜色

shadow:水印文字阴影

t:水印透明度

g:水印位置

text:水印文字 文字要转换为 base64 格式

测试图片地址:

https://zhuoyou-shop-test.oss-cn-hangzhou.aliyuncs.com/images/affair.jpg?x-oss-process=image/watermark,rotate_30,fill_1,size_20,color_B0C4DE,shadow_50,t_100,g_center,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ

2.压缩图片介绍

介绍地址

https://help.aliyun.com/document_detail/44705.html?spm=a2c4g.11186623.6.1665.58002e93foKl5K

参数 quality

q决定图片的相对质量,对原图按照q%进行质量压缩。例如,如果原图质量为100%,添加quality,q_90参数会得到质量为90%的图片。如果原图质量为80%,添加quality,q_90参数会得到质量72%的图片。

只有为JPG格式的原图添加该参数,才可以决定图片的相对质量。如果原图为WebP格式,添加该参数相当于指定了原图绝对质量,即与参数Q的作用相同。

Q决定图片的绝对质量,将原图质量压缩至Q%,如果原图质量小于指定参数值,则按照原图质量重新进行压缩。

例如,如果原图质量是95%,添加quality,Q_90参数会得到质量90%的图片。如果原图质量是80%,添加quality,Q_90只能得到质量80%的图片。

 该参数只能对保存格式为JPG、WebP的图片使用,对其他格式的图片无效果。 如果同时指定了q和Q,会按照Q的值进行处理。

eg:

?x-oss-process=image/quality,q_80

quality,q_80表示把图片压缩至80%

》在质量变换时不指定Q或者q参数,可能会导致图片占用空间变大。

》由于 仅支持有损压缩的图片格式: JPG和WebP   不支持png   所以要 先将图片转换为jpg格式 在压缩 因为压缩只能是jpg格式

图片格式转换

介绍地址:

https://help.aliyun.com/document_detail/44703.html?spm=a2c4g.11186623.6.1663.53c1e849R2jCmX

参数:format

jpg将原图保存成 jpg 格式,如果原图是 png、webp、bmp 存在透明通道,默认会把透明填充成白色。

png将原图保存成 png 格式。

webp将原图保存成 webp 格式。

bmp将原图保存成 bmp 格式。

gif将 gif 格式保存成 gif 格式,非 gif 格式是按原图格式保存。

tiff将原图保存成 tiff 格式。

(将图片转换成对应格式,包括 jpg、png、bmp、webp、gif、tiff。 不填格式,则默认按原图格式返回。

对于普通缩略请求, 建议 format 参数放到处理参数串最后,例如:image/resize,w_100/format,jpg。

对于缩略+水印的请求,建议 format 参数跟缩略参数放在一起,例如:image/reisze,w_100/format,jpg/watermark,...。

保存成 jpg 格式时,默认是保存成标准型的 jpg (Baseline JPEG), 如果想指定是渐进式 JPEG (Progressive JPEG), 可以指定参数 interlace,)

eg:

?x-oss-process=image/format,jpg

表示将图片格式转换为jpg图片

所以压缩图片最终的后缀

?x-oss-process=image/format,jpg/quality,q_80

比如:https://zhuoyou-shop-test.oss-cn-hangzhou.aliyuncs.com/images/v2-_r.jpg?x-oss-process=image/format,jpg/quality,q_70

介绍地址:

https://help.aliyun.com/document_detail/99372.html?spm=a2c4g.11186623.6.1644.2ce22e935lWO

video视频截帧

https://help.aliyun.com/document_detail/64555.html?spm=a2c4g.11186623.2.17.120251b0x3pgs4#concept-kz1-cwc-wdb

操作分类:video

操作名称:snapshot

t指定截图时间。[0,视频时长]  单位:ms

w指定截图宽度,如果指定为0,则自动计算。[0,视频宽度]  单位:像素(px)

h指定截图高度,如果指定为0,则自动计算;如果w和h都为0,则输出为原视频宽高。[0,视频高度]  单位:像素(px)

m指定截图模式,不指定则为默认模式,根据时间精确截图。如果指定为fast,则截取该时间点之前的最近的一个关键帧。比如:fast

f指定输出图片的格式。比如:jpg、png

ar指定是否根据视频信息自动旋转图片。如果指定为auto,则会在截图生成之后根据视频旋转信息进行自动旋转。比如:auto

eg:

使用fast模式截取视频7s处的内容,输出为JPG格式的图片,宽度为800,高度为600。

?x-oss-process=video/snapshot,t_7000,f_jpg,w_800,h_600,m_fast

使用精确时间模式截取视频50s处的内容,输出为JPG格式的图片,宽度为800,高度为600。

?x-oss-process=video/snapshot,t_50000,f_jpg,w_800,h_600

比如:http://hr-culture.oss-cn-hangzhou.aliyuncs.com/videos/4.mp4?x-oss-process=video/snapshot,t_2000,f_jpg,m_fast

热点内容
网吧怎么通过服务器玩网络游戏 发布:2025-02-08 19:59:52 浏览:912
文档编辑加密 发布:2025-02-08 19:56:31 浏览:390
phpmysql存储过程实例 发布:2025-02-08 19:54:40 浏览:159
淘宝卖的地下城脚本 发布:2025-02-08 19:41:40 浏览:61
安卓怎么把提升画质关了 发布:2025-02-08 19:40:11 浏览:361
我想你加密 发布:2025-02-08 19:39:24 浏览:214
java手机号正则表达式 发布:2025-02-08 19:34:50 浏览:353
ue加密 发布:2025-02-08 19:34:05 浏览:476
滁州压缩机 发布:2025-02-08 19:34:03 浏览:882
压缩棉花絮片 发布:2025-02-08 19:33:12 浏览:395