瀏覽代碼

fix(server) utf8 original filename (#1147)

Jason Rasmussen 2 年之前
父節點
當前提交
21d6874e54

+ 3 - 0
server/apps/immich/src/config/asset-upload.config.ts

@@ -7,6 +7,7 @@ import { existsSync, mkdirSync } from 'fs';
 import { diskStorage } from 'multer';
 import { extname, join } from 'path';
 import sanitize from 'sanitize-filename';
+import { patchFormData } from '../utils/path-form-data.util';
 
 export const assetUploadOption: MulterOptions = {
   fileFilter,
@@ -55,6 +56,8 @@ function filename(req: Request, file: Express.Multer.File, cb: any) {
     return cb(new UnauthorizedException());
   }
 
+  file.originalname = patchFormData(file.originalname);
+
   const fileNameUUID = randomUUID();
 
   if (file.fieldname === 'livePhotoData') {

+ 3 - 0
server/apps/immich/src/config/profile-image-upload.config.ts

@@ -6,6 +6,7 @@ import { existsSync, mkdirSync } from 'fs';
 import { diskStorage } from 'multer';
 import { extname } from 'path';
 import sanitize from 'sanitize-filename';
+import { patchFormData } from '../utils/path-form-data.util';
 
 export const profileImageUploadOption: MulterOptions = {
   fileFilter,
@@ -49,6 +50,8 @@ function filename(req: Request, file: Express.Multer.File, cb: any) {
     return cb(new UnauthorizedException());
   }
 
+  file.originalname = patchFormData(file.originalname);
+
   const userId = req.user.id;
   const fileName = `${userId}${extname(file.originalname)}`;
 

+ 3 - 0
server/apps/immich/src/utils/path-form-data.util.ts

@@ -0,0 +1,3 @@
+export function patchFormData(latin1: string) {
+  return Buffer.from(latin1, 'latin1').toString('utf8');
+}