В моем приложении требуется, чтобы пользователи могли загружать файлы в базу данных. На этом этапе пользователь загружает файл, а веб-страница сохраняет его во временном каталоге, во-вторых, логика загружает файл в Byte [] и передает этот массив в качестве параметра в оператор SQL «insert».
Проблема с этим подходом заключается в том, что если пользователь попытается загрузить файл размером 1 ГБ, это приведет к тому, что серверу понадобится 1 ГБ памяти для сохранения этого файла в виде байта [], и эта память должна быть позднее GCollected. , Если несколько пользователей делают это одновременно, сервер может рухнуть.
Один из способов избежать этого - ограничить размер файла ... но клиент не хочет этого делать. Таким образом, наилучший подход заключается в последовательной загрузке файла в базу данных с использованием указателя. Я нашел пример этого для SQL Server, использующего специальную функцию с именем updatetext , но я хотел бы знать подход, действительный для всех видов баз данных, т.е. чтобы узнать, возможно ли и как загрузить файл в базу данных кусками.
Приветствие.