تحميل الملف في Rails- البيانات كائن، كيف يمكنني إعادتها إلى وجهة نظري؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

عند إجراء تحميل في مشروع Rails الخاص بي، تخزن قاعدة البيانات

التطبيق/Octet-the Original_Path:أرقامي

كيف يمكنني الحصول على أرقامي في وجهة نظري فقط؟

اشكرك كثيرا!ماركو

ملاحظة.لا أرغب في استخدام Attach_fu أو أي مكون إضافي آخر.

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

المحلول

يتم بالفعل استلام تحميل الملف بواسطة وحدة التحكم الخاصة بك ككائن ملف، وليس كبيانات، لذا تقع على عاتقك مسؤولية قراءته.عادةً ما يتم حفظ الملفات التي تم تحميلها في دليل مؤقت ويوجد مقبض ملف مفتوح لها في المعلمات.

يمكنك القيام بشيء مثل ما يلي لاسترداد البيانات:

def create
  # Read in data from file into parameter before creating anything
  if (params[:model] and params[:model][:file])
    params[:model][:file] = params[:model][:file].read
  end

  @model = MyModel.create(params[:model])
end

ربما تحتاج إلى التأكد من أن العمود الموجود في قاعدة البيانات يمكنه تخزين البيانات الثنائية.في عمليات ترحيل MySQL، يكون هذا هو نوع العمود:binary.

نصائح أخرى

يمكنك الوصول إلى اسم الملف الذي تم تحميله باستخدام المساعد original_filename.لذا params[:model][:file].original_filename

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