我是亚马逊和java的新手。我在这里尝试两件事。
第一-我试图在我的Amazon S3存储桶中创建一个文件夹,我已经创建并获得了凭据。
第二-我正在尝试将文件上传到这个存储桶。
根据我的理解,我可以使用putObjectRequest()方法来完成这两个任务。
PutObjectRequest(bucketName, keyName, file)
用于上传文件。
我不确定我是否应该使用这种方法
PutObjectRequest(String bucketName, String key, InputStream input,
ObjectMetadata metadata)
仅用于创建文件夹。我正在努力学习InputSteam和ObjectMetadata。我不知道这到底是做什么用的,我该怎么用。
任何帮助都将不胜感激。:)
是的,您可以使用PutObjectRequest(bucketName、keyName、file)来完成这两项任务。
1、创建S3文件夹
使用AWS S3JavaSDK,只需在密钥名称末尾添加“/”,就会创建空文件夹。
var folderKey = key + "/"; //end the key name with "/"
示例代码:
final InputStream im = new InputStream() {
@Override
public int read() throws IOException {
return -1;
}
};
final ObjectMetadata om = new ObjectMetadata();
om.setContentLength(0L);
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, im, om);
s3.putObject(putObjectRequest);
2、上传文件也一样,你可以从你的本地文件中获得输入流。
你不需要在Amazon S3中创建文件夹。事实上,文件夹并不存在!
相反,键(文件名)包含完整路径和对象名。
例如,如果名为cat.jpg
的文件在动物
文件夹中,则Key(filename)为:动物/cat.jpg
只需将
对象与该Key一起放置,文件夹就会自动创建。(实际上,这不是真的,因为没有文件夹,但这是一种很好的简单方式来想象这个概念。)
至于要使用哪种函数……请始终使用满足您需求的最简单函数。因此,只需使用PutObjectRequest(bucketName、keyName、file)。
问题内容: 这是我的问题:我想在/ api / controllers内部创建一些子文件夹,以组织我的源代码。我的问题是,一旦创建新文件夹,蓝图api / routes / actions似乎不再起作用。 从我所有的测试中,如果我将/api/controller/UserController.js更改为/api/controller/newpath/UserController.js,我将无法再获
问题内容: import java.io.File; File folder = new File(Environment.getExternalStorageDirectory() + “/TollCulator”); boolean success = true; if (!folder.exists()) { //Toast.makeText(MainActivity.this, “Dire
问题内容: 我不熟悉Swift,也不确定如何从字符串路径(或某种对象)创建新文件夹 这是在带有Cocoa的OS X上。 问题答案: 我的理解是,您正在尝试使用swift以编程方式创建目录。下面给出的代码执行相同的操作。
问题内容: 我有问题让用户通过ajax请求>路由> controller @ method在laravel 4中创建文件夹。 我确实对url调用权方法测试了ajax成功请求。 当我使用或(此方法存在吗?)时,我将得到响应并且无法创建新文件夹..该如何解决? route.php AdminDashboardController js 问题答案: 不,实际上是 另外,您可以尝试以下操作: 更新: 确实
问题内容: 我已经阅读了Node.js的文档,除非我错过了一些内容,否则它不会告诉某些操作(特别是)中包含哪些参数。正如您在文档中看到的那样,它不是很多。 当前,我有以下代码,该代码尝试创建一个文件夹或使用现有的文件夹: 但是我想知道这是正确的方法吗?检查代码是否正确知道文件夹已存在?我知道我可以在创建目录之前执行此操作,但这已经是对文件系统的两次打击。 其次,是否有Node.js的完整或至少更详