Witajcie, próbuje zrobić zapis obrazka przesłanego w formularzu. Oto fragment kodu w formularzu
<div>
<%= label_tag(:logo, "Logo firmy") %>
<%= file_field_tag 'logo' %>
</div>
Oto metoda która obsługuje zapis
#if user attached any logo
if params[:logo].present?
#if attached check if folder is created
path_to_folder = File.join(Rails.root,"lib","assets","images","companies",params[:cat_id])
original_filename = params[:logo].original_filename
file_ext = File.extname original_filename
#if not create it
if !Dir.exist? path_to_folder
Dir.mkdir path_to_folder
end
#now write file
File.open(File.join(path_to_folder,params[:name]+file_ext), 'w') do |file|
file.write(params[:logo])
end
company.logo_path = File.join("companies",params[:cat_id],params[:name]+file_ext)
else
company.logo_path = "company_default.png"
end
I wszystko jest niby ok tworzy foldery, zapisuje plik tylko że przy otwarciu pojawia się błąd.
Error interpreting JPEG image file (Not a JPEG file: starts with 0x23 0x3c)
To jest błąd w domyślnym programie do przeglądania obrazków w innych jest rysowany cały czarny. Gdzie jest błąd? Nie chcę do tego zadania używać jakichś gemów bo nie jest ono na tyle skomplikowane by nie zrobić go samemu. Z góry dziękuje za odpowiedź.
Pozdrawiam
Artur
Rozumiem chęć napisania tego samemu, jak ktoś się uczy, ale później? Po to te gemy są. Piszą je super ludzie, jakość ich kodu i rozwiązań jest o niebo lepsza niż szary programista może sam z sobie wykaraskać. Ja bym jednak użył ppaerclip albo carrierwave, no ale, może trzeba trochę popracować by zacząć szanować czas ;]
@gotar
Dzięki już teraz działa. A z gemów nie chce korzystać bo aktualnie jeszcze z railsami walczę i zależy mi na tym żeby nie utrudniać tego procesu dodatkowo używaniem gemów “do wszystkiego”. @lewy313
Dzięki poprawię.
Pozdrawiam
Artur
Nie ma sensu odkrywać koła na nowo. Raczej powinieneś zaczynać od sprawdzenia czy ktoś już nie rozwiązał danego problemu za Ciebie. Jeżeli nie rozwiązał albo rozwiązanie Ci nie odpowiada to dopiero brał się za robienie tego samemu.
Za chwilę wyskoczy Ci kolejny błąd/zmiana z tym uploadem i zamiast skupić się na rozwijaniu appki, będziesz tracił czas na poprawianie problemów, które zostały już uwzględnione w gemie x rozwijanym od y czasu przez z lepszych programistów.
[quote=drogus]A początkujący programista tak to zrobi, że nie będzie z tym żadnych problemów. Aaaaha
( co zresztą widać w kodzie wklejonym powyżej, każdy kiedyś zaczyna, a jak zaczyna, to się uczy podstaw, a nie izolacji itp. itd. )[/quote]
Masz racje zbyt duzo confreaks ogladam ostatnio