مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

clonerrrrrs

عضویت از 1398/08/23

ساخت بخش دانلود سایت با Asp net Mvc

  • جمعه 24 آبان 1398
  • 09:46
تشکر میکنم

سلام میخواستم یه بخش درست کنم تو سایتم که لینک های دانلود تا زمانی که کاربر مبلغ آن را پرداخت نکرده غیرفعال باشد و بعد از پرداخت برای آن کاربر فعال شود ولی نمیدانم باید چگونه آن را پیاده سازی کنم و از شما تقاضا دارم مرا راهنمایی کنید

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

tabliqcom5

عضویت از 1398/08/25

  • شنبه 25 آبان 1398
  • 11:54

سلام سایتتون وردپرسی هستش؟

کاربر سایت

mvcstudent

عضویت از 1394/12/10

  • یکشنبه 26 آبان 1398
  • 18:35

شاید بشه از این کار ابلهانه استفاده کرد که security access رو با کد عوض کنی و read رو برداری یک چیزی مثل این:

https://docs.microsoft.com/en-us/dotnet/api/system.io.file.setaccesscontrol?view=netframework-4.8

ولی کار درست رو چندجا توی چندتا سرور دیده بودم که آدرس Url داینامیک بود مثلاً بود domain/download?efjbuw

این طوری یک فایل مثلاً یک گیگی رو نمی شه برد توی steamreader در رم ذخیره کرد مثلاً.

آخر نفهمیدم چه کار کرده بودند 

اگر کسی بلده فقط اشاره کنه ما بریم دنبالش

چون منم احتیاج دارم

کاربر سایت

mvcstudent

عضویت از 1394/12/10

  • یکشنبه 26 آبان 1398
  • 18:54

ولی فکر کنم از این کار بشه استفاده کرد

https://stackoverflow.com/questions/52469204/how-to-restrict-direct-access-to-video-file-in-asp-net-mvc

منتها موندم مثلاً شما یک فایل یک گیگابایتی رو چطور می خوای ببری توی steam?

سرور نترکه!

کاربر سایت

morteza thq

عضویت از 1398/02/02

  • سه شنبه 17 دی 1398
  • 10:19

شما میتونید یه متد بسازید داخل اون چک کنید از بانک که ایا این کاربر پرداخت کرده یا نه اگه کرده باشه بره واسه دانلود اگه ن که ارور نشون بدید یا بفرستیدش واسه خرید این دیگه دردسر نداره

کاربر سایت

mvcstudent

عضویت از 1394/12/10

  • سه شنبه 17 دی 1398
  • 11:19

مهندس!

شما فکر کن یکی اومد و پرداخت کرد و شما می خواهی فایل رو بهش بدی. آدرس مستقیم فایل رو بهش می دی؟ اینطوری فرد این آدرس رو به صد میلیون نفر دیگه هم میده!!!!!!!!!!!

بهترین کار ارائه یک آدرس یونیک از فایل موردنظر به هر فرد هست. بازم این مشکل پیش میاد که اگر از استیم استفاده کنیم برا یک فایل یک گیگابایتی سرور کرش نمیکنه؟

کاربر سایت

morteza thq

عضویت از 1398/02/02

  • سه شنبه 17 دی 1398
  • 22:21

ن عزیزم ادرس مستقیم فایلو بهش نمیده فقط تا اون متد کاربر میبره جلو ادرس مستقیمو بهش نمیده این متدی که گذاشتم فقط فایلو بر میگردونه ادرس مستقیم نمیده

public FileResult Download()
{
    byte[] fileBytes = System.IO.File.ReadAllBytes(@"c:\folder\myfile.ext");
    string fileName = "myfile.ext";
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

کاربر سایت

mvcstudent

عضویت از 1394/12/10

  • سه شنبه 17 دی 1398
  • 23:39

خوب مهندس صحبت من هم همینه این روش تقریباً مشابه لینکی هست که چند پست قبل گذاشتم. اما نکته اینجاست که اگر فایل شما حجیم باشه، (بالاخره داری می‌بریش توی رم سرور). اونوقت مشکل پیش نمیاد؟

کاربر سایت

morteza thq

عضویت از 1398/02/02

  • چهارشنبه 18 دی 1398
  • 14:26

شما گفتید نگران پخش شدن لینک دانلود بین همه هستید این راهش هست که پخش نشه .شما باید نگران فضای هاستتون باشید ینی یه فضای کافی در نظر بگیرید برای هاستتون و گرنه هیچ مشکلی پیش نمیاد 

کاربر سایت

mvcstudent

عضویت از 1394/12/10

  • چهارشنبه 18 دی 1398
  • 15:37

اگه شما یک سرور با مثلاً رم 16رو برا سرویس وبتون در نظر بگیرین (رم خیلی گرون شده عملاً نمیشه بیشتر به سرور وب رم داد) و بخواین یک دانلود سنتر برا خودتون داشته باشین( یا حتی یک مدیا سرویس مثل فیمیلو و یا ... که میان فیلم رو قطعه قطعه می کنن و بعد پاس می دن به کلاینت) اگر تعداد مثلاً 500 نفر همزمان بخوان از سرویس شما استفاده کنن (که عجیب نیست) سرور کرش می کنه.

نکته و یا سوال اینجاست دانلود سنتر ها چکار می کنن که یک آدرس یونیک برا هر کار اون هم به مدت محدود برای یک فایل در نظر می گیرن؟ مسلماً توی رم نمی برنش.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)