我正在为Cloudfront / S3前端存储桶创建一个HTML界面,我希望能够通过该界面删除其中的对象。我可以编写GET和POST请求,以便列出并查看存储桶中的对象,但我不知道如何编写删除请求。
private String buildURL(String endpoint) {
String secret = 'some_secret';
Datetime dt = Datetime.now();
Long longTime = dt.getTime();
Long expiryLong = (longTime / 1000) + 10;
String url = 'https://' + cf + endpoint +
'?Prefix=' + user_id;
String expiry = String.valueOf(expiryLong);
String policy = policy(url, expiry);
String policyEnc = EncodingUtil.base64Encode(Blob.valueOf(policy));
String rPolicy = cfReplace(policyEnc);
Blob mac = Crypto.generateMac('HMACSHA1',
Blob.valueOf(rPolicy),
Blob.valueOf(secret));
String signature = cfReplace(EncodingUtil.base64Encode(mac));
return 'https://' + cf + endpoint +
'?Prefix=' + user_id + '&Policy=' + policyEnc +
'&Signature=' + signature + '&Key-Pair-Id=' + keyPairId;
}
如果这是我用来生成网址以查看对象的方法,我该如何将其更改为删除请求并将其附加到<a href...
代码?
答案 0 :(得分:1)
你可以使用ajax。
<a href="test.php" onclick="sendDelete(event)">test</a>
<script>
function sendDelete(event){
event.preventDefault();
xhttp.open("DELETE", this.href, true);
xhttp.send();
}
</script>
答案 1 :(得分:1)
遗憾的是,可能无法将其附加到href对象。表单中的元素只能执行POST and GET only.。您可能必须手动构建标头的删除方法(使用服务器端的表单提交)或使用HTTP库来完成操作。