Предотвращение дублирования файлов в табличной таблице SQL Server 2014
Я планирую написать приложение ASP.NET MVC, которое будет загружать большие файлы (возможно, до 500 МБ) в таблицу файлов SQL Server 2014. Есть ли способ проверить, существует ли файл в FileTable перед загрузкой?
Если файл уже существует в базе данных, я захочу сослаться на уже загруженный файл, а не загружать новый.
Если файл должен быть сначала загружен в FileTable перед проверкой, существует ли файл в FileTable, каков рекомендуемый способ сравнения? (Должен ли я сделать какой-то отдельный CRC, сгенерированный для каждого файла, а затем сравнить с этим?)
Спасибо!
1 ответ
Вам нужно будет вычислить хеш файла на стороне клиента, прежде чем загружать его. У меня нет частей кода, только понятия:
- используя HTML File API и File Reader для чтения файла
- с реализацией Javascript SHA256 вычислить хеш файла
- на вашем сервере вы храните содержимое файла, а также хэш SHA256 каждого файла
- клиент выполняет запрос AJAX, чтобы проверить, существует ли файл с таким хешем
- если он еще не существует: загрузите его!