第三方服务(文件,图片存储)

一:第三方服务有:阿里云,七牛云(存储服务器)

1:在实际开发中,我们会有很多处理不同功能的服务器。例如:

应用服务器:负责部署我们的应用  


数据库服务器:运行我们的数据库  


文件服务器:负责存储用户上传文件的服务器

分服务器处理的目的是让服务器各司其职,从而提高我们项目的运行效率。

在这里插入图片描述

2:常见的文件,图片存储方案:

方案一:使用nginx搭建图片服务器


方案二:使用开源的分布式文件存储系统,例如Fastdfs、HDFS等


方案三:使用云存储,例如阿里云、七牛云等

3.阿里云,七牛云存储
①:注册并登录–登录成功后点击页面右上角管理控制台–新建存储空间–查看存储空间信息
②:开发者中心–官方(SDK)
1.导入maven坐标

com.qiniu
qiniu-java-sdk
7.2.0

2.直接拷贝-官网上-文件上传-的全部代码(将本地的文件上传的功能–测试)

    public static final String AK="秘钥账号";
    public static final String SK="秘钥密码";
    public static final String BUCKET="自己创建的bucket名称";
    /**
     * 上传
     */
     
    @Test
    public void UploadTest(){
        //构造一个带指定Zone对象的配置类
        Configuration cfg = new Configuration(Zone.zone0());
//...其他参数参考类注释
        UploadManager uploadManager = new UploadManager(cfg);
//...生成上传凭证,然后准备上传
        String accessKey = AK;
        String secretKey = SK;
        String bucket = BUCKET;
//如果是Windows情况下,格式是 D:\\qiniu\\test.png
        String localFilePath = "本地路径名+文件的名称以及后缀";
//默认不指定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);
            System.out.println(putRet.key);
            System.out.println(putRet.hash);
        } catch (QiniuException ex) {
            Response r = ex.response;
            System.err.println(r.toString());
            try {
                System.err.println(r.bodyString());
            } catch (QiniuException ex2) {
                //ignore
            }
        }

    }
 3.AK,SK,bucket(3个参数--1.秘钥管理 2.创建的bucket名称)

 4.输入自己的相应的参数,执行成功,文件上传到第三方服务器上

 5.至此本地文件用代码实现上传到第三方服务器上,可以在自己的账号查看,会多出来一行文件的信息。

4.删除空间中的文件
①:资源管理–删除空间中的文件
②:直接将官网中代码拷贝过来(参数换成自己的参数即可)

    @Test
    public void deleteTest(){
        //构造一个带指定Zone对象的配置类
        Configuration cfg = new Configuration(Zone.zone0());
//...其他参数参考类注释
        String accessKey = AK;
        String secretKey =SK;
        String bucket = BUCKET;
        String key = "Fu3Ic6TV6wIbJt793yaGeBmCkzTX";   //文件名
        Auth auth = Auth.create(accessKey, secretKey);
        BucketManager bucketManager = new BucketManager(auth, cfg);
        try {
            bucketManager.delete(bucket, key);
        } catch (QiniuException ex) {
            //如果遇到异常,说明删除失败
            System.err.println(ex.code());
            System.err.println(ex.response.toString());
        }
    }

③:执行完成,可以查看第三方文件的信息(已经删除了,证明成功了)

猜你喜欢

转载自blog.csdn.net/ZY__99/article/details/107594790
今日推荐