我正在为面向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;
}


如果这是我用来生成用于查看对象的URL的方法,如何将其更改为删除请求并将其附加到<a href...标记?

最佳答案

您可以使用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>

07-27 13:29
查看更多