ما هي أفضل طريقة لتحميل الملفات عبر HTTP POST مع نموذج ويب ؟

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

سؤال

في الأساس شيئا أفضل من هذا:

<input type="file" name="myfile" size="50">

أولا وقبل كل شيء ، browse زر تبدو مختلفة في كل متصفح.على عكس submit زر على النموذج ، عليك أن تأتي مع بعض هاك-y طريقة أسلوب.

ثانيا ، هناك أي تقدم مؤشر يبين لك كم من الملف قد تم تحميله.لديك عادة لتنفيذ بعض نوع من العميل وسيلة لتعطيل يقدم متعددة (على سبيل المثالتغيير زر إرسال إلى تعطيل زر عرض "نموذج تقديم...يرجى الانتظار.") أو فلاش عملاق تحذير.

هل هناك أي حلول جيدة إلى هذا أن لا تستخدم فلاش أو جافا ؟

يعقوب:هذا المنتج يبدو أن تكون بالضبط ما كنت أبحث عنه ، ولكن التكلفة 1000 دولار و خصيصا ASP.NET. هل هناك أي مشاريع مفتوحة المصدر التي تغطي نفس أو وظائف مماثلة ؟

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

المحلول

تحميل ملف صناديق هو أين نحن حاليا في إذا كنت لا ترغب في إشراك التقنيات الأخرى مثل فلاش, جافا او اكتف.

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

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

ربما أفضل حل حاليا للكشف عن حيوي إذا كان المستخدم لديه فلاش و إذا كانت حالة أعطها فلاش نسخة من رافع, في حين لا يزال يجعل من الممكن لاختيار الأساسية HTML واحدة.

HTH

نصائح أخرى

هل يمكن أن يكون نظرة على يتوهم تحميل البرنامج النصي.على الرغم من أنه يستخدم فلاش أنها لا تزال تبدو كبيرة.

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

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

هناك العديد من الحلول في هذه اللحظة, لكنها مختلفة بين IE و FX (أنا لا أعرف عن رحلات السفاري, إلخ).

ننظر إلى ما http://www.gmail.com هل في أي الفوركس عند إرفاق شيء إلى البريد الإلكتروني.

أريد أن أرى هذا هراء "Browse" زر - يقول لي أنني لن أسمح لأي شيء غير متوقع في.

هو صحيح ، تحميل ملف التحكم هو بالتأكيد وراء مرات.نأمل أن هذا سوف يتم تناولها في المستقبل asp.net الإصدار.

على الرغم من أنه يكلف بعض المال ، لقد وجدت Telerik تحكم تحميل أن يكون كل من الوظيفة التي كنت تبحث عن ، بما في ذلك التصميم وتحديثات التقدم (كما يحسن الذاكرة الكبيرة الإضافات).

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