تحميل الملف مباشرة إلى S3 باستخدام شريط التقدم [مغلق]
-
20-08-2019 - |
سؤال
فيما يتعلق بهذا السؤال، قم بتحميل الملفات مباشرة إلى Amazon S3 من تطبيق ASP.NET, هل هناك أي طريقة للقيام بذلك والحصول على شريط التقدم؟
---- يحرر ----
بعد يومين ولم يحالفنا الحظ حتى الآن بطريقة مباشرة.وجدت شيئًا واحدًا يبدو واعدًا ولكنه ليس مجانيًا: http://www.flajaxian.com/
يستخدم الفلاش للتحميل مباشرة إلى S3 باستخدام شريط التقدم.
المحلول
أنا أبحث عن حل أيضا.ربما سيكون هذا مفيدًا بعض الشيء ،
من مجتمع AWS Dev ولكن في العديد من اللغات (PHP ، Java) ، من أجل الملفات الكبيرة ، عليك استخدام التدفقات من خلالها البيئة اللغوية سوف تأخذ أجزاء من ملفك الكبير واحد بعد الآخر (من أجل ملء ذاكرة مركزية مع كمية هائلة من البيانات اللازمة ل http POST من S3 للتحميل.
الشيء الجميل في الدفق هو ذلك لديهم رد اتصال يسمى كلما تتم قراءة الجزء التالي لمزيد من PUT (بمعنى https) البيانات إلى S3.يمكنك استخدام رد الاتصال هذا لحساب وعرض التقدم على العميل واجهة المستخدم.
انظر وثيقة libcurl لترى في تفاصيل كيف يعمل كل هذا.
تحديث:يبدو أن هناك خيارين واضحين.
أنا شخصيًا أكره استخدام ملحقات الطرف الثالث (Flash، Java) لإنشاء وظيفة التطبيق، لكنني لم أجد طريقة أخرى.
نصائح أخرى
وHTML5 جافا سكريبت يمكن أن تسمح لك أن تفعل ذلك، إذا كنت لا تمانع في عدم وجود دعم المتصفح (فايرفوكس وكروم فقط اعتبارا من هذا post_ المثال هنا: https://developer.mozilla.org/en/Using_files_from_web_applications
وهذا ليس خاصا AWS، ولكن قد تساعدك على الاقتراب.
وثمة نهج آخر هو استخدام شيء مثل اوبر رافع ( http://uber-uploader.sourceforge.net/ ) وهو حل الهجين بيرل / PHP مع شريط التقدم. هل ببساطة تحميل الملفات على الخادم الخاص بك ومن ثم يكون خادم بروتوكول نقل الملفات لهم في الخلفية إلى الوجهة النهائية. إنها خطوة إضافية لكنه يتيح لك بعض الوقت للقيام أية معالجة / الترميز / الخ التي قد تحتاج إلى القيام به قبل أن يرسل إلى S3.