我用php上传到amazon s3,但我不想只上传到存储桶的根目录。我想保存子目录中的文件。 如何将文件保存到存储桶的子目录? 我试过这个:
multipart_params: {
<?
'key': '/imagegallery/${filename}', // use filename as a key
'Filename': '/imagegallery/${filename}', // adding this to keep consistency across the runtimes
'acl': 'public-read',
'success_action_status': '201',
'Content-Type': 'image/jpeg',
'AWSAccessKeyId' : '<?php echo $accessKeyId; ?>',
'policy': '<?php echo $policy; ?>',
'signature': '<?php echo $signature; ?>'
},
没用。它只是将文件放在存储桶的根目录中。我是否需要将目录添加到策略文件中?
答案 0 :(得分:1)
您需要更改要上传的文件的文件名以包含目录 - s3没有这样的目录 - 来自捆绑的s3.php示例:
UploadFile: function(up, file) {
log('[UploadFile]', file);
up.settings.multipart_params.key = 'yourdirectory/'+file.name;
// You can override settings before the file is uploaded
// up.setOption('url', 'upload.php?id=' + file.id);
// up.setOption('multipart_params', {param1 : 'value1', param2 : 'value2'});
}
答案 1 :(得分:0)
亚马逊s3没有文件夹的概念,有些人建议创建名称为“folder / test.txt”的密钥来解决它。