TheBrain نشر 17 يناير 2016 أرسل تقرير مشاركة نشر 17 يناير 2016 أريد قراءة ملفات مرفوعة من قبل المستخدم بدون حفظها إلى قاعدة البيانات، ولقد جربت طرق عديدة من بينها هذه:File.read(params[:uploaded_file]) لكن جميع محاولاتي باءت بالفشل، فما الطريقة الصحيحة لفعل ذلك في ريلز؟الشيفرة البرمجية الخاصة بالعرض:<% form_for(:uploaded_file, @feed, :url => {:action=>'parse'}, :html=> {:multipart=>true}) do |f| %> <p> <%= f.label :uploaded_file, 'Upload your file.' %><br /> <%= f.file_field :uploaded_file %> </p> <p><%= f.submit 'upload' %></p> <% end %> اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 هشام رزق الله نشر 17 يناير 2016 أرسل تقرير مشاركة نشر 17 يناير 2016 الحل الذي توصلتَ إليه قريب من الحل الصحيح، تأكد من نوع صنف params[:uploaded_file] والذي سيكون في العادة إما كائن StringIO أو Tempfile وكلاهما يتصرف كالملفات يمكنك قراءتهم عن طريق استخدام توابع read ألخاصة بهم.وللتأكد من نوع الصنف (نوع صنف params[:uploaded_file] حسب ما تستخدم من Mongrel أو Passenger أو Webrick) يمكنك استخدام هذه الشيفرة البرمجية:# Note: use form validation to ensure that # params[:uploaded_file] is not null file_data = params[:uploaded_file] if file_data.respond_to?(:read) xml_contents = file_data.read elsif file_data.respond_to?(:path) xml_contents = File.read(file_data.path) else logger.error "Bad file_data: #{file_data.class.name}: #{file_data.inspect}" end اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
TheBrain
أريد قراءة ملفات مرفوعة من قبل المستخدم بدون حفظها إلى قاعدة البيانات، ولقد جربت طرق عديدة من بينها هذه:
لكن جميع محاولاتي باءت بالفشل، فما الطريقة الصحيحة لفعل ذلك في ريلز؟
الشيفرة البرمجية الخاصة بالعرض:
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.