تنزيل الملف المباشر مقابل قراءة ملف مرة أخرى كتنزيل

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

سؤال

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

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

أشياء يجب ملاحظة:

  • عناوين URL هي نفسها في كلتا الحالتين أي (http://somesite.com/download/file.jad)
  • في متصفح يستخدم Fiddler ، فإن التنزيلات/الرأس هي نفس البايت للبايت تمامًا

فلماذا يفضل الهاتف ملفًا هو في الواقع رابط مباشر مقابل واحد هو وحدة تحكم تقوم بتدفق البيانات مرة أخرى عندما تكون البيانات المنقولة وعنوان URL متطابقًا؟

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

المحلول 2

لقد اكتشفت إصلاحًا لهذه المشكلة على الرغم من أنني ما زلت غير متأكد من سببها. لقد قمت بتسليم الرابط إلى الهاتف من خلال بوابة الرسائل القصيرة/البريد الإلكتروني. عندما يحصل الهاتف على الرسائل القصيرة وأختار الرابط لتنزيله يسأل عما إذا كنت أرغب في الحصول على جاد ، وضربت نعم وظهرت وتسرب. لقد وضعت نفس الرابط بالضبط على صفحة أخرى مثل رابط HTML وأرسلت رسالة نصية قصيرة تشير إلى تلك الصفحة. يلقي موقع الويب خطأ ... لذلك قمت بنسخ وصق الرابط في متصفح الهواتف وتظهر الصفحة على ما يرام ، أنقر على رابط تنزيل JAD على الصفحة والآن يعمل JAD بشكل جيد.

لذلك أفكر في شيئين إما أن هناك نوعًا من آلية الأمان التي تمنع الروابط المباشرة في الرسائل القصيرة (ولكن هذا قد نجح في ملفات أخرى) أو الطريقة التي يحصل بها الهاتف على عنوان URL.

أجرت بعض الاختبارات ولاحظت شيئًا آخر ، على صفحة تقبل قيمة الهوية (http://site.com/download/145) حيث 145 هو معرف لملف ، إذا ذهبت إلى هذا الرابط في متصفح الهاتف ، فهو يعمل بشكل جيد وتقوم بتنزيل الملف. إذا قمت بإرسالها في الرسائل القصيرة ، فهناك أخطاء الخادم قائلة إن المعرف من المتوقع أن يكون تعويمًا وتلقى سلسلة. فلماذا عندما يربط الهاتف مباشرة من الرسائل القصيرة ، تكون معلمات عنوان URL سلاسل ولكن عند استخدامها في متصفح يتم تحليلها فعليًا كتعويم؟

آسف على التفسير الطويل ، لكنها مشكلة غريبة.

نصائح أخرى

ملف .jad هو فقط الجزء الأول من التنزيل - هناك أيضًا ملفات .COD المرتبطة به (المشار إليها في JAD). هل تأكد من أن طريقة "التدفق" الخاصة بك هي إرسال ملف COD بشكل صحيح ومع أنواع MIME الصحيحة؟

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