diff --git a/services/datalake/pod-datalake/src/handlers/blob.ts b/services/datalake/pod-datalake/src/handlers/blob.ts index 7b0ab34fe9..738175bfc2 100644 --- a/services/datalake/pod-datalake/src/handlers/blob.ts +++ b/services/datalake/pod-datalake/src/handlers/blob.ts @@ -64,7 +64,10 @@ export async function handleBlobGet ( res.setHeader('Content-Length', blob.bodyLength.toString()) res.setHeader('Content-Type', blob.contentType ?? '') res.setHeader('Content-Security-Policy', "default-src 'none';") - res.setHeader('Content-Disposition', filename !== undefined ? `attachment; filename="${filename}"` : 'attachment') + res.setHeader( + 'Content-Disposition', + filename !== undefined ? `attachment; filename*=UTF-8''${encodeURIComponent(filename)}"` : 'attachment' + ) res.setHeader('Cache-Control', blob.cacheControl ?? cacheControl) res.setHeader('Last-Modified', new Date(blob.lastModified).toUTCString()) res.setHeader('ETag', blob.etag) diff --git a/services/datalake/pod-datalake/src/handlers/image.ts b/services/datalake/pod-datalake/src/handlers/image.ts index 93d84481d9..a12d8c5ead 100644 --- a/services/datalake/pod-datalake/src/handlers/image.ts +++ b/services/datalake/pod-datalake/src/handlers/image.ts @@ -165,7 +165,7 @@ export async function handleImageGet ( res.on('finish', () => { try { - rmSync(tempDir) + rmSync(tempDir, { recursive: true }) } catch (err: any) { ctx.error('failed to remove temp dir', { workspace, name, error: err }) }