From 6cfb06c226230c0bc67e91f7e89830e31c9d0b52 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 22 Apr 2024 15:05:57 +0800 Subject: [PATCH] normalize file url --- packages/api/src/services/upload_file.ts | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/api/src/services/upload_file.ts b/packages/api/src/services/upload_file.ts index fd96f313c..e2949600f 100644 --- a/packages/api/src/services/upload_file.ts +++ b/packages/api/src/services/upload_file.ts @@ -1,4 +1,3 @@ -import normalizeUrl from 'normalize-url' import path from 'path' import { In } from 'typeorm' import { v4 as uuid } from 'uuid' @@ -11,7 +10,7 @@ import { UploadFileStatus, } from '../generated/graphql' import { authTrx, getRepository } from '../repository' -import { generateSlug } from '../utils/helpers' +import { cleanUrl, generateSlug } from '../utils/helpers' import { logger } from '../utils/logger' import { contentReaderForLibraryItem, @@ -69,13 +68,11 @@ export const uploadFile = async ( input: UploadFileRequestInput, uid: string ) => { + let url = input.url let title: string let fileName: string try { - const url = normalizeUrl(new URL(input.url).href, { - stripHash: true, - stripWWW: false, - }) + url = cleanUrl(new URL(url).href) title = decodeURI(path.basename(new URL(url).pathname, '.pdf')) fileName = decodeURI(path.basename(new URL(url).pathname)).replace( /[^a-zA-Z0-9-_.]/g, @@ -102,8 +99,6 @@ export const uploadFile = async ( } } - let url = input.url - const uploadFileId = uuid() const uploadFilePathName = generateUploadFilePathName(uploadFileId, fileName) // If this is a file URL, we swap in a special URL