函数代码如下, 这里的 avoidSizeIncrease 一旦设置为 true,并且请求头包含 webp 或者 avif,就会返回空
Status
200
Headers
accept-ranges: bytesage: 296cache-control: max-age=31536000connection: closecontent-length: 0content-type: application/octet-streamdate: Thu, 13 Aug 2026 07:34:42 GMTeo-cache-status: MISSeo-log-uuid: 16151242162754019088last-modified: Thu, 13 Aug 2026 07:34:42 GMTnel: {"success_fraction":0.1,"report_to":"eo-nel","max_age":604800}report-to: {"endpoints":[{"url":"https://nel.teo-rum.com/eo-cgi/nel"}],"group":"eo-nel","max_age":604800}server: edgeone-pagesx-nws-log-uuid: 16151242162754019088Body
""
async function handleEvent(event) {
const { request } = event;
const option = {
eo: {
image: {
avoidSizeIncrease: true,
}
}
};
// 获取客户端支持的图片类型
const accept = request.headers.get('Accept');
if (accept) {
if (accept.includes('image/avif')) {
option.eo.image.format = 'avif';
} else if (accept.includes('image/webp')) {
option.eo.image.format = 'webp';
}
}
try {
return fetch(request, option);
} catch (error) {
// 如果处理失败,回退到原始请求
console.error(`Image processing failed: ${error}`);
return fetch(request);
}
}
addEventListener('fetch', (event) => {
event.passThroughOnException();
event.respondWith(handleEvent(event));
});
相似问题