gpt4 book ai didi

java - 如何使用谷歌云中的文件服务将文件存储为 blob 值

转载 作者:行者123 更新时间:2023-12-01 04:53:42 24 4
gpt4 key购买 nike

借助Google文档Writing files to a blob store

我可以通过以下方式将文件存储在 Google Cloud 中,

 //My servlet Class
private StorageService storage = new StorageService();
FileService fileService = FileServiceFactory.getFileService();
AppEngineFile file = fileService.createNewBlobFile(mime, fileName);
boolean lock = true;
FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock);
byte[] b1 = new byte[BUFFER_SIZE];
int readBytes1;
storage.init(fileName, mime); // Calling my Java Class Here
while ((readBytes1 = is1.read(b1)) != -1) {
writeChannel.write(ByteBuffer.wrap(b1, 0, readBytes1));
storage.storeFile(b1, readBytes1);}
writeChannel.closeFinally();

我有一个存储java类来将数据存储在下面的Google云中,

//My Storage Class 
public class StorageService {
public static final String BUCKET_NAME = "MyBucket";
public void init(String fileName, String mime) throws Exception {
GSFileOptionsBuilder builder = new GSFileOptionsBuilder().setAcl("public_read").setBucket(BUCKET_NAME).setKey(fileName).setMimeType(mime);
AppEngineFile writableFile = fileService.createNewGSFile(builder.build());
boolean lock = true;
writeChannel = fileService.openWriteChannel(writableFile, lock);
bos = new BufferedOutputStream(Channels.newOutputStream(writeChannel));
public void storeFile(byte[] b, int readSize) throws Exception {
bos.write(b,0,readSize);
bos.flush();
}}

根据上面的引用,我可以将文件直接存储在谷歌云中。但我需要使用文件服务将这些文件存储为 blob 值。

任何人都可以给我建议吗?

我们将不胜感激您的帮助。

最佳答案

您是否已将 appengine 服务帐户添加到 Google API 控制台项目中?如果您还没有完成,您应该准备 Google API Console 项目。

  1. 在 GAE 管理控制台的“应用程序设置”选项卡上确认您的 appengine 服务帐户
  2. Google API Console上创建新项目。或为您现有的存储桶打开 API 控制台项目。
  3. 在“服务”标签中启用“Google Cloud Storage”。
  4. 在 API 控制台的“团队”选项卡上将 appengine 服务帐户添加为团队。

关于java - 如何使用谷歌云中的文件服务将文件存储为 blob 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14522585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com