gpt4 book ai didi

image - React Native - 无需缓存即可快速加载图像的更好方法

转载 作者:行者123 更新时间:2023-12-03 14:49:30 30 4
gpt4 key购买 nike

我正在使用 FastImage用于缓存图像,并在按预期缓存数据后非常快速地加载图像。但是我的服务器每次都为相同的图像生成新的 uri(s3 预签名 url)。

因此,FastImage 将其视为新图像并尝试每次下载,这会影响我的应用程序性能。

我的问题是,有没有什么乐观的方法可以在不缓存的情况下尽可能快地渲染图像?

最佳答案

如果您有机会修改服务器端应用程序,您可以创建授权 header 而不是创建预签名的 url。

这个功能应该有帮助。

import aws4 from 'aws4';

export function getURIWithSignedHeaders(imagePath) {
if(!imagePath){
return null;
}
const expires = 86400; // 24 hours
const host = `${process.env.YOUR_S3_BUCKET_NAME}.s3.${process.env.YOUR_S3_REGION}.amazonaws.com`;
// imagePath should be something like images/3_profileImage.jpg
const path = `/${imagePath}?X-Amz-Expires=${expires}`;
const opts = {
host,
path,
headers: {
'Content-Type': 'image/jpeg'
}
};
const { headers } = aws4.sign(opts, {accessKeyId: process.env.YORU_ACCESS_KEY_ID, secretAccessKey: process.env.YOUR_SECRET_ACCESS_KEY});
return {
uri: `https://${host}${path}`,
headers: {
Authorization: headers['Authorization'],
'X-Amz-Content-Sha256': headers['X-Amz-Content-Sha256'],
'X-Amz-Date': headers['X-Amz-Date'],
'Content-Type': 'image/jpeg',
}
}
}

见: 609974221

关于image - React Native - 无需缓存即可快速加载图像的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52167139/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com