Files
2025-04-15 03:59:33 +08:00

30 lines
765 B
JavaScript

import { createErrorResponse } from '../../utils';
export async function onRequestGet(context) {
try {
const { env, params } = context;
const { filename } = params;
if (!filename) {
return createErrorResponse("Filename is required", 400);
}
const key = "avatars/" + filename;
const object = await env.MY_BUCKET.get(key);
if (object === null) {
return new Response("Object Not Found", { status: 404 });
}
const headers = new Headers();
object.writeHttpMetadata(headers);
headers.set("etag", object.httpEtag);
return new Response(object.body, {
headers,
});
} catch (error) {
console.error("Avatar retrieval error:", error);
return createErrorResponse("Server Error", 500);
}
}