async function generatePresignedUrl(objectKey, endpoint, bucket) {
const url = new URL(`${endpoint}/${bucket}/${objectKey}`)
url.searchParams.set('X-Amz-Expires', '3600')
const signed = await r2.sign(new Request(url, {
method: 'GET'
}), {
headers: {
'Content-Disposition': 'attachment; filename=' + objectKey
},
aws: {
signQuery: true
}
})
return signed.url
}
async function generatePresignedUrl(objectKey, endpoint, bucket) {
const url = new URL(`${endpoint}/${bucket}/${objectKey}`)
url.searchParams.set('X-Amz-Expires', '3600')
const signed = await r2.sign(new Request(url, {
method: 'GET'
}), {
headers: {
'Content-Disposition': 'attachment; filename=' + objectKey
},
aws: {
signQuery: true
}
})
return signed.url
}