是否可以使用java更改google云存储文件的文件名?
是时候使用java(BlobstoreService)更改Google云存储中下载的文件名了。BlobstoreService中是否有在下载该文件之前更改文件名的规定?是否有用于更改文件名的有用API?这里发生的事情是,当我在GCS中保存一个文件时,它将生成一个blob密钥。谷歌云存储中的文件类型也发生了变化。现在,我只想在下载之前更改文件名,以及文件的类型。您可以通过读取文件并使用新名称保存来重命名文件。下面是一些示例代码,您可能需要添加自己的删除函数才能删除旧文件:是否可以使用java更改google云存储文件的文件名?,java,google-app-engine,google-cloud-storage,blobstore,Java,Google App Engine,Google Cloud Storage,Blobstore,是时候使用java(BlobstoreService)更改Google云存储中下载的文件名了。BlobstoreService中是否有在下载该文件之前更改文件名的规定?是否有用于更改文件名的有用API?这里发生的事情是,当我在GCS中保存一个文件时,它将生成一个blob密钥。谷歌云存储中的文件类型也发生了变化。现在,我只想在下载之前更改文件名,以及文件的类型。您可以通过读取文件并使用新名称保存来重命名文件。下面是一些示例代码,您可能需要添加自己的删除函数才能删除旧文件: public void
public void moveFile(String fileName, String bucket, String newFilename, String contentType) throws IOException {
byte[] bytes = loadFile(bucket, fileName);
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
saveToGcs(bucket, fileName, in, contentType);
}
public byte[] loadFile(String bucket, String fileName) throws IOException {
GcsFilename gcsFileName = new GcsFilename(bucket, fileName);
GcsInputChannel readChannel = gcsService.openReadChannel(gcsFileName, 0);
InputStream in = Channels.newInputStream(readChannel);
return IOUtils.toByteArray(in);
}
private void saveToGcs(String bucket, String filename, InputStream inputStream, String mimeType) throws IOException {
GcsFilename gcsFilename = new GcsFilename(bucket, filename);
GcsFileOptions options = new GcsFileOptions.Builder().mimeType(mimeType).acl("public-read").build();
GcsOutputChannel writeChannel = gcsService.createOrReplace(gcsFilename, options);
BufferedOutputStream outputStream = new BufferedOutputStream(Channels.newOutputStream(writeChannel));
IOUtils.copy(inputStream, outputStream);
outputStream.close();
writeChannel.close();
}
你找到在GCS中重命名文件的方法了吗。?如果有的话,请与我们分享。?