Я работаю с типами данных SQL Server 2008 и FileStream
для хранения больших файлов в базе данных.Загрузка файлов на SQL Server без использования слишком большой памяти
До сих пор все работает нормально, но проблема заключается мой метод загрузки выглядит следующим образом:
public static void UploadFileToDatabase(string location)
{
FileStream fs = new FileStream(location, FileMode.Open, FileAccess.Read);
byte[] data = new byte[fs.Length];
fs.Read(data, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
SaveToDatabaseMethod(data)
data = null;
}
Очевидно, что я спасаю файлы в памяти, а затем загружать их на сервер, который я думаю, что это действительно плохая практика так или иначе, я могу хотя бы ограничить объем памяти, необходимый для этого?
Какова наилучшая практика в моем случае?
У вас возникли проблемы или почему вы хотите изменить это? Насколько велики файлы? Вы должны посмотреть на ключевое слово 'using' –
Как выглядит ваш SaveToDatabaseMethod? Единственный способ избежать буферизации файла в памяти - передать его в SaveToDatabaseMethod –