Member 13512111 Ответов: 2

Как делать сайты работа(naukri приложения, monsterjob и т. д.) Управление документами претендентов ?


I am currently in a situation where I've to save Applicants documents in a folder. Suppose if an applicant saves "Resume.txt" then a new entry is made and saved in DB. What if same file is uploaded again(say update "resume" after sometime) ?(currently I'm adding a number after the file and then fetching the latest file, ex : If id_resume.txt already exists then id_resume1.txt will be made and so on. On viewing the document resume1.txt will be opened) How to update the DB accordingly ? So how do other websites manage their document saving viewing and uploading part ?


Что я уже пробовал:

Есть много кодов, которые я, по-видимому, не могу опубликовать.

F-ES Sitecore

Проще всего хранить файлы в базе данных, а не хранить их на диске. Если вы держите их на диске, то вам также придется придумать стратегию папок. У монстра, вероятно, есть более 1 000 000 резюме, как вы думаете, есть ли у них где-то папка с 1 000 000+ файлами в ней? Вместо этого вам понадобится какой-то способ хранения файлов в древовидной структуре, чтобы сохранить количество файлов в папке около разумного предела.

2 Ответов

Рейтинг:
11

OriginalGriff

Вероятно, так же работают многие системы управления версиями.
Самый простой способ сделать это-это:

Не храните файл под его именем - очень вероятно, что тысячи людей отправят файл под названием "resume.txt-или ...resume.docx - ... и ты хочешь, чтобы они жили отдельно.
Вместо этого используйте GUID в качестве имени файла и добавьте таблицу, которая связывает идентификатор пользователя с файлами, которые он отправил:

ID         GUID or IDENTITY
UserID     Foreign key to your Users table
FileRef    GUID (the actual file storage name)
FileName   The names as supplied by the user
Submitted  DATETIME or DATETIME2 when the file was submitted
Каждый раз, когда он отправляет файл, вы генерируете новую строку.
Вы можете получить каждый последний файл пользователя, посмотрев на дату отправки, и все равно получить доступ к более ранним версиям.

Есть более сложные системы (где новые файлы хранятся как отличия от предыдущих версий), но они могут стать очень сложными, если вы не будете осторожны. Хранение достаточно дешево, и вы всегда можете архивировать старые версии, если это необходимо.


Рейтинг:
0

#realJSOP

Я бы не стал беспокоиться о сохранении архива старых файлов, если только это не является особым требованием. Если это так, вы можете установить максимальное количество старых файлов для поддержания, чтобы сохранить использование диска на сервере файловой системы до унылого Рева. Файлы могут быстро перегружать доступное дисковое пространство на загруженном сайте. Вы также можете ограничить загрузку определенными типами файлов (PDF, DOC, XLSX, ZIP и т. д.) и максимальным размером.