Показать оставшееся свободное место на хосте в asp.net

Я разработал веб-сайт, используя asp.net. К сожалению, количество хостов этого веб-сайта не безгранично, и люди каждый день загружают на него множество вещей. Есть ли способ показать остаток свободного места на хосте через asp.net? Я имею в виду, что администратор может проверить оставшееся пространство хоста онлайн из своей панели администратора. Является ли это возможным?


person Reza    schedule 07.03.2014    source источник


Ответы (1)


кстати, вы уже знаете, сколько у вас места. хорошо? поэтому я предлагаю вам поместить свое общее пространство в свой web.config, а затем получить сумму размеров файлов, уже находящихся на диске, и вычесть их.

       long totoalSpace = long.MaxValue; // as example
        long size = 0;
        string folderPath = @"d:/hostingpace/yourwebsite/files"; //sample path

        foreach (var item in Directory.GetFiles(folderPath))
        {
            size += new FileInfo(item).Length;
        }

        long remainingSpace = totoalSpace - size;

обратите внимание, что, поскольку у вас нет доступа к физическому пути, вы должны Server.MapPath получить путь к папке ..

person SHM    schedule 07.03.2014
comment
Гениальная идея! Не могли бы вы помочь мне подробнее. Я новичок в asp.net. Если можно, объясните это треской. - person Reza; 07.03.2014
comment
Что мне поставить вместо folderPath? Поскольку я не хочу, чтобы он работал локально, и когда я поставил вместо него адрес своего веб-сайта, я выдал ошибку: «Форматы URI не поддерживаются». - person Reza; 07.03.2014
comment
например, если у вас есть папка с именем Uploads и она находится в корне вашего решения, вы должны сделать это: folderpath = Server.MapPath (~ / Uploads) - person SHM; 07.03.2014