我正在尝试将文件上传到s3存储桶中的文件夹.我在PHP中执行以下操作:
$name = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
$tmp = $_FILES['file']['tmp_name'];
$bucket= $_POST['bucket'];
$actual_image_name = explode('.',$name)[0]."-".time().".".$ext;
$s3->putObjectFile($tmp, $bucket , $actual_image_name, S3::ACL_PUBLIC_READ);
Run Code Online (Sandbox Code Playgroud)
存储桶名称是发送给PHP的字符串,表示使用正斜杠的子文件夹:
'<bucket name>/<subfolder>'
Run Code Online (Sandbox Code Playgroud)
但是,当我将新图像上传到我的存储桶时,它会上传到存储桶根目录.如何将此文件上传到我的存储桶中的子文件夹?
谢谢
如果我有一个带有单击处理程序的简单按钮和一个自定义属性指令,如下所示:
<button (click)="save()" attributedirective="project saved">Save</button>
Run Code Online (Sandbox Code Playgroud)
在我的属性指令中,我使用hostlistener装饰器来监听click事件:
@Directive({
selector: `[attributedirective]`
})
export class AuditPusher {
@Input('attributedirective') attributedirective: string = 'Missing message!';
@HostListener('click', ['$event'])
pushAudit() {
console.log('text:'+this.attributedirective.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
我的哪个代码会首先启动?click事件的save()或属性指令中的代码? - 并且:想象一下有两个属性指令.哪个会首先开火?在Angular 1中有类似指令的优先级,在Angular 2中是如何完成的?我发现很难找到相关的文档.
在将请求发送到 node.js api 后,我尝试以编程方式清除单个 url 的 cloudflare 缓存。我正在使用https://github.com/cloudflare/node-cloudflare库,但是我不知道如何记录来自 cloudflare 的回调。根据同一存储库中的测试文件,语法应该是这样的:
//client declaration:
t.context.cf = new CF({
key: 'deadbeef',
email: 'cloudflare@example.com',
h2: false
});
//invoke clearCache:
t.context.cf.deleteCache('1', {
files: [
'https://example.com/purge_url'
]
})
Run Code Online (Sandbox Code Playgroud)
我如何从这个请求中读出回调?我在自己的代码中尝试了以下操作:
client.deleteCache(process.env.CLOUDFLARE_ZONE, { "files": [url] }, function (data) {
console.log(`Cloudflare cache purged for: ${url}`);
console.log(`Callback:${data}`);
})
Run Code Online (Sandbox Code Playgroud)
和:
client.deleteCache('1', {
files: [
'https://example.com/purge_url'
]
}).then(function(a,b){
console.log('helllllllooooooooo');
})
Run Code Online (Sandbox Code Playgroud)
无济于事。:(
amazon-s3 ×1
angular ×1
api ×1
callback ×1
cloudflare ×1
javascript ×1
node.js ×1
php ×1
purge ×1