سلام ,
1- برای کاهش حجم تصویر طبیعتا باید عکس آپلود شده رو Resize کنید و یک Thumbnail از عکس اصلی بسازید تا در هنگام نمایش تصویر ، پیشنمایش عکس زودتر لود بشه
. برای کاهش عکس آپلود شده میتونید از ImageResizer که داخل NuGet هم موجود هست استفاده کنید .
آموزش استفاده از Image Resizer ( نیاز به * شکن ) :
https://live4coding.wordpress.com/20...-imageresizer/
2- برای تعیین محل ذخیره سازی عکس در یک پوشه از Path.Combine استفاده کنید و محل عکس رو برروی Server با Server.MapPath مشخص کنید ، به این صورت :
// Set Uploaded File Save Path
var path = Path.Combine(Server.MapPath("~/Files"), fileNameToSave);
// Save Uploaded File
upload.SaveAs(path);
3- برای نمایش تصویر ; موقع آپلود عکس شما به اون عکس یک ID میدین و مسیر ذخیره سازی اون عکس رو در دیتابیس خودتون ذخیره میکنید . برای نشون دادن اون عکس هم کافیه با یک Select از دیتابیس اون عکس رو پیدا کنید و آدرسش رو با ViewBag به ویو بفرستید و اون رو در ویو داخل Server.MapPath قرار بدید تا آدرس فیزیکی عکس رو بسازه براتون و بعد میتونید از اون داخل تگ img استفاده کنید.
موفق باشید .