七牛云上传文件

1登录七牛开发者平台个人中心-》密钥管理拿到ak sk

创建存储,创建新空间,拿到空间名称

2项目composer

composer require qiniu/php-sdk

3

namespace app\api\controller;

use app\common\controller\Api;
//use think\Db;
use think\Config;
use Qiniu\Storage\UploadManager;
use Qiniu\Auth;


/**
 * 第三方接口
 */
class ThirdTool extends Api
{
    protected $noNeedLogin = ['*'];
    protected $noNeedRight = '*';
    
    //七牛云配置
    protected $qn_ak = "Q4uzCzhiB5vNy6I6x_nxLo9lMmwvDKiZgb_IeCs_";
    protected $qn_sk = "-82WQZn_KsMHHWoBdLcWcXiUJZo7qgnvgWy_y-vJ";
    protected $qn_buget = "black_card";

    public function _initialize()
    {
        parent::_initialize();
        
//        $this->domain_url = Config::get('site.domain_url');
        
    }
    
    
    /**
     * 获取token
     */
    public function qn_token() {
        $upManager = new UploadManager();
        $auth = new Auth($this->qn_ak, $this->qn_sk);
        $token = $auth->uploadToken($this->qn_buget);
        $this->success("ok", [
            'url' => "http://pvi3ij247.bkt.clouddn.com",
            'token' =>$token,
            'buget' => $this->qn_buget,
            ]);
//        list($ret, $error) = $upManager->put($token, 'formput', 'hello world');
    }

 

要实现Spring Boot整合七牛云上传文件,可以按照以下步骤进行: 1.引入七牛云Java SDK 在pom.xml中引入七牛云Java SDK: ```xml <dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>[7.2.0,)</version> </dependency> ``` 2.配置七牛云参数 在application.yml或application.properties中添加七牛云的参数: ```yml qiniu: accessKey: your_access_key secretKey: your_secret_key bucket: your_bucket_name domain: your_domain_name ``` 3.编写上传文件的代码 在需要上传文件的地方编写上传文件的代码,示例代码如下: ```java @Service public class QiniuService { @Autowired private QiniuConfig qiniuConfig; /** * 上传文件七牛云 * * @param file 文件对象 * @return 文件访问URL */ public String uploadFile(File file) throws QiniuException { // 构造一个带指定Zone对象的配置类 Configuration cfg = new Configuration(Zone.autoZone()); // ...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); // 生成上传凭证,然后准备上传 String accessKey = qiniuConfig.getAccessKey(); String secretKey = qiniuConfig.getSecretKey(); String bucket = qiniuConfig.getBucket(); // 如果是Windows情况下,格式是 D:\\qiniu\\test.png String localFilePath = file.getAbsolutePath(); // 默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try { Response response = uploadManager.put(localFilePath, key, upToken); // 解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); return qiniuConfig.getDomain() + "/" + putRet.key; } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { // ignore } throw ex; } } } ``` 4.测试上传文件 在测试类中编写测试上传文件的代码,示例代码如下: ```java @RunWith(SpringRunner.class) @SpringBootTest public class QiniuServiceTest { @Autowired private QiniuService qiniuService; @Test public void testUploadFile() throws QiniuException { File file = new File("test.png"); String url = qiniuService.uploadFile(file); System.out.println(url); } } ``` 其中,test.png是要上传的文件名。运行测试类即可上传文件七牛云,并返回文件的访问URL。 以上就是Spring Boot整合七牛云上传文件的全部步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值