به دست آوردن حجم پوشه از طرییق ftp یا کوئری در دیتابیس
من برنامه ای دارم که باید عکس ها را روی سرور ذخیره کند. برای این کار من عکس ها را از طریق FTP در سرور ذخیره می کنم. اما چون محدودیت حجمی برای کاربران گذاشته ام باید هر بار حجم فولدر FTP را چک کنم تا از حد مجاز بیشتر نشود. هنگامی که تعداد فایل ها افزایش می یابد، این یک مشکل می شود. به نظر شما بهتر است سایز پوشه را از FTP بگیرم یا در هنگام ذخیره تصاویر، حجم فایل را در دیتابیس ذخیره کنم و اندازه پوشه از طریق sql به دست بیاورم . با توجه به مصرف سخت افزار شامل cpu و ram کدام مورد مناسب تر و بهینه تر است
نقل قول: به دست آوردن حجم پوشه از طرییق ftp یا کوئری در دیتابیس
-- EXEC sp_configure 'show advanced options', 1;
-- RECONFIGURE;
-- EXEC sp_configure 'xp_cmdshell', 1;
-- RECONFIGURE;
DECLARE @cmd VARCHAR(1000);
DECLARE @folderPath VARCHAR(255) = 'C:\tt';
DECLARE @output TABLE (output VARCHAR(1000));
SET @cmd = 'dir "' + @folderPath + '"';
INSERT INTO @output
EXEC xp_cmdshell @cmd;
SELECT output
FROM @output
WHERE output LIKE '%File(s)%'
OR output LIKE '%Dir(s)%';
نقل قول: به دست آوردن حجم پوشه از طرییق ftp یا کوئری در دیتابیس
delete file
DECLARE @cmd VARCHAR(1000);
DECLARE @filePath VARCHAR(255) = 'C:\tt\tt.zip';
DECLARE @output TABLE (output VARCHAR(1000));
SET @cmd = 'del "' + @filePath + '"';
INSERT INTO @output
EXEC xp_cmdshell @cmd;
SELECT output
FROM @output;