سؤال

فلاش 8 FileReference API يتيح لك إمكانية التحقق بشكل دوري من أجل عدد وحدات البايت التي يتم إرسالها:

listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
    trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
}

(معلومات أكثر هنا و هنا)

في حالة الرفع ، هل تشير إلى استخدام هذا الأسلوب للتحقق من سلامة الملف الذي تم تحميله?

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

المحلول

مجرد الاستماع إلى onComplete الحدث للتحقق كلما ملف يتم تحميلها بشكل صحيح.إذا كان أي خطأ الأحداث تم طرح حتى الآن الملف يجب أن يكون على الملقم.

إذا كنت لا تريد أن تثق الفلاش بلاير فيما يتعلق integrety من نشر الملف (على سبيل المثالالخادم الخاص بك فشل في الانتقال من /tmp مجلد ، إلخ.) شيء من المحتمل أن تكون ضرورية للتأكد من أن الإجراء تم الانتهاء بشكل صحيح :

  • تحقق من حجم الملف (أفضل أن يكون المجموع الاختباري, لا أعتقد يمكنك الحصول على ذلك على الرغم من) من جانب العميل.
  • بعد هذه المعلومات في ملف إيداع الطلب.
  • بمجرد نشر البيانات المستلمة ، وجمع المعلومات نفسها (الحجم ، الاختباري) من جانب الخادم من تلقى ملف ومقارنتها مع المعلومات التي تم إنشاؤها من جانب العميل.
  • إرسال يعود الوضع (تفشل/النجاح)

...إلا إذا كان التطبيق الخاص بك هو معقول جدا وأود أن تخطي هذا على الرغم فقط لسبب بسيط هو أنه قد تولد مشاكل أكثر مما إذا كنت قد حصلت على أي النزاهة تحقق في كل شيء :)

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

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