AWS s3节点js缓存

时间:2018-07-03 22:51:45

标签: javascript node.js google-chrome aws-sdk cache-control

我在chrome上遇到问题,其中chrome s AWS s3正在缓存我的请求并返回相同的结果。当我以隐身模式或其他浏览器(FireFox)运行时,它可以正常工作。 有点背景,我有一个存储区,所有用户都在其中存储他们的化身,文件是根据其ID命名的。当用户想要更改其头像时,文件将被覆盖。 我已经针对节点使用AWS s3 SDK v ^2.268.1进行了很多尝试。

const params = { Bucket: 'avatars', Key: fileName, ResponseCacheControl: "no-cache" };
s3.getObject(params, (err, data) => {
    if (err) {
        rej(err);
    } else {
        const str = data.Body.reduce((a, b) => (a + String.fromCharCode(b)), '');
        const avatar = 'data:image/jpeg;base64,' + btoa(str).replace(/.{76}(?=.)/g,'$&\n');
        vcard.avatar = avatar;
        res();
    }
});
导致403的

我也尝试过PrivatePublicNo-store的所有结果都是相同的。如果我完全删除ResponseCacheControl,它只会返回没有错误的消息。

Chrome + CORS + cache - requesting same file from two different origins https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property

是我使用的参考,并且尝试了多个参数都没有用。 我的下一步是尝试添加自定义URL参数,但还无法弄清楚该怎么做。

0 个答案:

没有答案