كيفية التعامل مع التحميلات بحجم 100 ميجابايت للمستخدمين

StackOverflow https://stackoverflow.com/questions/214888

  •  03-07-2019
  •  | 
  •  

سؤال

لقد تم الاتصال بي لإنشاء تطبيق ftp مخصص سيقوم المستخدمون بتنزيله حتى يتمكنوا من تحميل ملفات الفيديو (حتى 100 ميجابايت).

  • إنهم يريدون أن يكون دليلاً على الغباء (أي سهل للأشخاص الذين لا يعرفون القراءة والكتابة بالكمبيوتر).أفترض أن إعداد تطبيق بروتوكول نقل الملفات مثل FileZilla باستخدام اسم المستخدم وكلمة المرور الخاصين به سيكون أمرًا مبالغًا فيه بالنسبة لمعظم المستخدمين.
  • عبر منصة (أوتش)

من المؤكد أنني لست الشخص الأول الذي تناول مشكلة كيفية تمكين المستخدمين من تحميل الملفات الضخمة.أتساءل عما إذا كان يمكن لأي شخص أن يقدم لي أي نصائح.

هل كانت مفيدة؟

المحلول

(هل يجب أن يكون FTP؟يواجه FTP مشكلة مع جدران الحماية ووضع ASCII وبالطبع كلمة المرور واضحة.)

تحتوي العديد من اللغات على مكتبات FTP متاحة يمكنك تجميعها مع كمية صغيرة من لاصق واجهة المستخدم لإنشاء تطبيق التحميل البسيط الخاص بك.على سبيل المثال، لدى بايثون ftplib في المكتبة القياسية.آخر مرة قمت فيها بذلك كانت في لغة C باستخدام ftplib الخاص بـ Pfau، على سبيل المثال، ولكن لغات البرمجة النصية الحديثة ستكون أسهل بكثير في الكتابة إذا كنت لا تمانع في تحمل التكاليف الإضافية لتعبئة تطبيقك باستخدام مترجم.

لديك .NET في علاماتك...لا يوجد بروتوكول نقل الملفات (FTP) في مكتبة الفئة القياسية لـ .NET ولكن يمكنك بالتأكيد تنزيل مكتبات الجهات الخارجية مجانًا.ومن ناحية أخرى، فأنت تقول عبر الأنظمة الأساسية، لذلك لست متأكدًا مما إذا كنت تتحدث حقًا عن .NET على العميل.

ما يمكنك فعله هو توفير وسائل متعددة للتحميل، على سبيل المثال تحميل ملف HTTP* أساسي مدمج في موقعك، والذي سيعرف الجميع كيفية استخدامه، وواجهة FTP قياسية للمستخدمين المتقدمين الذين سيتمكنون من ذلك تشغيل عميل FTP.لا يعني ذلك تشغيل عميل FTP حقًا الذي - التي صعب:فقط اطلب منهم لصق عنوان URL الخاص بـ ftp:// في مستكشف Windows ويجب أن يكون معظم الأشخاص على ما يرام.

*:من الأفضل استخدام تعليقات AJAX للسماح للمستخدم بمعرفة كيفية سير التحميل و/أو ربما برنامج تحميل Flash.وتذكر إيقاف تشغيل/إيقاف أي قواعد لمهلة البرنامج النصي على الخادم حتى لا يستسلم في منتصف عملية التحميل.لن يكون تحميل HTTP هو الأمثل أبدًا للملفات التي يصل حجمها إلى 100 ميجابايت، ولكن يمكنك بالتأكيد تحسين عدم استجابة المتصفحات الافتراضية إلى حد ما هنا.

نصائح أخرى

تحميل إلى أين؟

هل يمكن أن تجعل الجميع لتثبيت بصندوق الإسقاط وإنشاء مشاركة من حساب أعمال يمكنهم جميعًا الوصول إليه.

قد ترغب في التفكير في إستراتيجيات تسجيل الدخول الموحد إذا كنت لا تريد أن يضطر المستخدمون إلى تقديم اسم المستخدم وكلمة المرور.

إذا كان على المستخدم تحميل ملف كبير، فابحث عن نوع من وظائف السيرة الذاتية.

هل بروتوكول نقل الملفات هو الخيار الوحيد؟إذا كان بإمكانك تنفيذ شيء ما على أساس P2P (bittorrent)، فيمكنك الحصول على وظيفة السيرة الذاتية والتكامل للملفات الكبيرة.

إليك 2 مثل ما حصلت عليه من مكتبة googling bittorent

http://sourceforge.net/projects/libbt/

http://www.codeproject.com/KB/cpp/FTKernelAPI.aspx

على الرغم من عدم وجود بروتوكول نقل الملفات (FTP)، يمكنك تجربة استخدامه com.swfupload لتحميل الملفات من خلال HTTP.نحن نستخدمها لحوالي.يتم تحميل ملف بحجم 100 ميجابايت على IIS وهو يعمل بشكل جيد إلى حد معقول.

لاحظ أنه يتعين عليك تعيين الحد الأقصى لحجم الطلب في web.config إلى 100 ميغابايت أو أكثر...

لا يعد تحميل ملفات بحجم 100 ميجابايت أكثر تعقيدًا من تحميل ملفات بحجم 1 كيلو بايت.يجب عليك ببساطة التأكد من أن المتلقي (في هذه الحالة الخادم) لا يحاول استقبال الملف بأكمله في الذاكرة.يمكن للخادم كتابة البيانات فورًا على القرص أو في db CLOB.يقرأ الخادم من دفق الإدخال ويكتب إلى دفق الإخراج، مع القليل جدًا من الموارد المطلوبة.

شكرًا يا رفاق، يجب أن أقول إن هذا كان الرد الأكثر شمولاً الذي تلقيته في المنتدى على الإطلاق.

أعتقد أنني سأقترح طريقين كما ذكر بوبنس

1) http باستخدام SWFUpload (bh213)، لقد استخدمته من قبل.إنه سهل الإعداد ويتمتع بتجربة مستخدم جيدة

2) ثم قم بتقديم خيار بروتوكول نقل الملفات.إما باستخدام متصفح أو شيء من هذا القبيل filezilla.

ماذا عن إنشاء تطبيق Adobe Air بسيط باستخدام JS وHTML؟ أعتقد أنه يتمتع الآن بإمكانية مقبس FTP.يمكنك أيضًا استخدام البنية الموجودة في قاعدة البيانات لتخزين تفاصيل ما تم إرساله ومكان إرساله والمساحة الصغيرة والنظام الأساسي المتقاطع ويمكنك إنشاءه بما تفضله (flash، flex، JS/HTML).

لدي متطلبات مماثلة وأتطلع إلى استخدام Adobe air وjQuery أو Ext للحل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top