TP6 图片上传阿里云OSS

本文介绍了在ThinkPHP6(TP6)框架下如何实现图片上传到阿里云Object Storage Service(OSS)。首先,通过Composer安装阿里云SDK,然后在公共方法中编写上传函数,并在config app中配置OSS参数。最后,封装TP6的文件上传方法以配合OSS使用。总结指出,尽管TP6更新了文件上传方式,但OSS的上传流程基本保持不变。
摘要由CSDN通过智能技术生成

tp6改写了文件上传的方式,变得更加简洁。但上传阿里云oss的方法没变,只需改变一下上传的流程即可,下面上代码。

一、安装阿里云sdk

composer require aliyuncs/oss-sdk-php

这里安装完之后可以去框架根目录中的composer.json中看一下安装的哪个版本的sdk,我这里是

二、在公共方法中写入上传方法

<?php

use OSS\OssClient;
use OSS\Core\OssException;

//阿里云OSS
if (!function_exists('aliyun')) {
    function aliyun($savePath,$category='',$isunlink=false,$bucket=""){
        $accessKeyId = Config::get('app.aliyun_oss.accessKeyId');//去阿里云后台获取秘钥
        $accessKeySecret = Config::get('app.aliyun_oss.accessKeySecret');//去阿里云后台获取秘钥
        $endpoint = Config::get('app.aliyun_oss.endpoint');//你的阿里云OSS地址
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
        //     
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
阿里云OSS支持图片压缩功能,可以通过以下步骤实现图片上传和压缩: 1. 安装阿里云OSS SDK,并引入相关依赖。 2. 创建OSSClient对象,指定Endpoint、AccessKeyId和AccessKeySecret。 3. 创建PutObjectRequest对象,指定需要上传的文件路径和存储路径,并设置Content-Type为image/jpeg。 4. 调用OSSClient的putObject方法上传文件到OSS。 5. 在存储路径后面添加参数,如“?x-oss-process=image/resize,m_fixed,w_100,h_100”,表示压缩图片,将图片宽度和高度限定为100。 以下是示例代码: ```java import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.model.PutObjectRequest; public class OSSUtil { // 阿里云OSS配置信息 private static final String endpoint = "oss-cn-hangzhou.aliyuncs.com"; private static final String accessKeyId = "yourAccessKeyId"; private static final String accessKeySecret = "yourAccessKeySecret"; private static final String bucketName = "yourBucketName"; // 上传文件到OSS public static void uploadFileToOSS(String filePath, String objectName) { // 创建OSSClient对象 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 创建PutObjectRequest对象 PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new File(filePath)); putObjectRequest.setContentType("image/jpeg"); // 上传文件到OSS ossClient.putObject(putObjectRequest); // 关闭OSSClient ossClient.shutdown(); } } ``` 例如,上传名为test.jpg的图片到OSS,并压缩宽度和高度限定为100,可以使用以下代码: ```java String filePath = "D:/test.jpg"; String objectName = "test.jpg"; OSSUtil.uploadFileToOSS(filePath, objectName + "?x-oss-process=image/resize,m_fixed,w_100,h_100"); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奶派三叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值