一文详解如何使用Google Cloud Storage作为文件存储服务 | 您所在的位置:网站首页 › 国内如何使用谷歌文档下载 › 一文详解如何使用Google Cloud Storage作为文件存储服务 |
如何使用谷歌 Cloud Storage作为项目的图片存储服务
在使用Cloud Storage服务之前,需要在谷歌项目中创建服务账号 创建服务账号1.在控制台中打开导航菜单——API和服务——凭据页面 我们为服务账号添加默认Owner角色权限 上一步创建服务账号后,在服务账号的页面就可以看到新创建的服务账号了,这里我们点击该服务账号的——管理密钥 存储桶是作为存放我们的文件的容器,我们所有的文件上传成功后都会在我们创建的存储桶容器中 1.创建存储桶 这里我们使用java进行操作,写一个最常用的图片上传和访问的功能 1.第一步我们要做的是先引入Google Cloud Storage的相关依赖 com.google.cloud libraries-bom 22.0.0 pom import com.google.cloud google-cloud-storage下面是详细代码: package com.google.test; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.storage.*; import com.google.common.collect.Lists; import java.io.FileInputStream; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class GoogleFileUtil { public static void main(String[] args) throws IOException { String filepath = uploadFile("测试", "vue_jinbeiwallet_com"); System.out.println("公开访问地址是::::" + filepath); } public static String uploadFile(String fileName,String bucketName) throws IOException { //要上传的本地文件的绝对路径 String filePath = "D:/imgs/wallhaven/钻石/1krllv.jpg"; //读取本地存储的服务账号的json密钥,拿到该服务账号的权限 GoogleCredentials credentials= GoogleCredentials.fromStream(new FileInputStream("D:/tity/linear-stock-325210-33d0c8edd2cc.json")) .createScoped(Lists.newArrayList("https://www.googleapis.com/auth/cloud-platform")); //创建服务账号对应的操作对象 Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService(); // 将本地指定路径的文件转换为字节 byte[] bytes = Files.readAllBytes(Paths.get(filePath)); //上传文件图片到指定的存储桶中 BlobId blobId=BlobId.of(bucketName,fileName); BlobInfo blobInfo=BlobInfo.newBuilder(blobId).build(); Blob blob = storage.create(blobInfo, bytes); //修改已经上传的文件类型为 image/jpg blob.toBuilder().setContentType("image/jpg").build().update(); //返回公开访问的地址 return "https://storage.googleapis.com/" + bucketName + "/" + fileName; } }以上代码需要注意的是,第一个是本地存放json密钥的绝对路径,在liunx系统上写法跟windows不一样,需要修改 第二是需要修改上传后的文件类型,要根据自己上传文件的类型进行修改,如果不修改,默认都是application/octet-stream,,这样的话访问公开地址就会变成下载地址 下面我们来看一下运行结果: 成功上传并且生成公开访问地址,在实际运用中,我们一般会将该访问地址入库,在前端需要的时候请求并返回该地址就好了 如果觉得对你有用,记得动动你发财的小手,帮我点赞,收藏,分享,谢谢! |
CopyRight 2018-2019 实验室设备网 版权所有 |