Fix file downloads for Safari with proper filename handling
Implement browser-specific download methods to ensure files download with correct filenames across all browsers. Safari now uses window.location.href while other browsers use blob URLs. Add Content-Disposition header to proxy endpoint for proper filename preservation.
This commit is contained in:
@@ -41,7 +41,8 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
// Set headers for download
|
||||
setHeader(event, 'Content-Type', contentType);
|
||||
setHeader(event, 'Content-Disposition', `attachment; filename="${cleanFileName}"`);
|
||||
// Use both filename and filename* for better compatibility
|
||||
setHeader(event, 'Content-Disposition', `attachment; filename="${cleanFileName}"; filename*=UTF-8''${encodeURIComponent(cleanFileName)}`);
|
||||
// Content-Length header is set automatically by Nitro when returning a buffer
|
||||
|
||||
// Return the file buffer
|
||||
|
||||
Reference in New Issue
Block a user