laziers
September 15, 2008, 5:02pm
1
Witam
sprawa bardzo prosta lecz dziwnie nie dziala hmm
mam model: User, zawiera on pole img standardowo jest to sciezka do pliku img, lecz podczas zapisu chcialbym uploadowac wybrany przez usera obrazek
w view mam cos takiego:
<% form_for :user do |f| %>
...
<%= f.file_field 'img'%>
...
controller
if @user.save
User.save(params[:user][:img])
controller:
w modelu User
def self.save(upload)
n = upload.original_filename #[color=red]TUTAJ WYWALA BLAD[/color]
dir = "public/data"
path = File.join(n, dir)
File.open(path, "wb") { |f| f.write(upload.read) }
end
i niestety wywala blad
undefined method `original_filename’ for “wybrany_pli.txt”:String
ronin
September 15, 2008, 5:21pm
2
Jak dodajesz pole do wgrywania plików to trzeba dodać opcję multipart do formularza
<% form_for :user, :html => { :multipart => true } do |f| %>
...
<%= f.file_field 'img'%>
...
laziers
September 15, 2008, 6:04pm
3
sprytne, dzieki za odpowiedz ladnie dziala,
a wiesz moze (badz ktos inny) jak manipulowac obrazkiem? tzn. jak zmiejszac jego rozmiar podczas uploadu etc.?
pozdrawiam
[quote=laziers]sprytne, dzieki za odpowiedz ladnie dziala,
a wiesz moze (badz ktos inny) jak manipulowac obrazkiem? tzn. jak zmiejszac jego rozmiar podczas uploadu etc.?[/quote]
ja używam np.
file_column i rmagic
http://www.kanthak.net/opensource/file_column/
zobacz: http://wiki.rubyonrails.org/rails/pages/HowtoUploadFiles sekcja Other approaches
pozdrawiam
laziers
September 15, 2008, 6:41pm
5
hmm bardzo fajnie sie przedstawia ten file_column ale czy on aby czasem nie wrzuca obrazka do bazy czy normalnie do katalogu?
pawel
September 15, 2008, 7:11pm
6
Ja bym polecil jednak attachment_fu
backendy: filesystem, database, amazon s3 lub wlasne (np. cos w oparciu o drb)
aktywnie rozwijany w przeciwienstwie do file_column
wykorzystujac polimorfizm jeden model np. Assets zalatwia wszystkie upoloadowane/zalaczane do modeli pliki w aplikacji np:
User (has_one :photo), Company (has_one :logo), Report (has_many :attachments) itd. Zobacz: http://blog.defv.be/2007/12/19/attachment_fu-with-polymorphic-association
A zapomnialbym…
4) Wspolpracuje z ImageScience, Rmagick, MiniMagick podczas gdy file_coumn tylko z Rmagick, ktorego jesli mozna nalezy unikac
laziers
September 15, 2008, 7:27pm
7
rowniez ciekawe, bede musial to przegladnac,
dzieki
Do katalogu. Choć tak jak mówi pawel, jedyny problem jaki się może pojawić do RMagic z którym czasem są problemy (moja app dopiero się rozkręca, więc jeszcze nie napotkałem żadnych).
pozdrawiam
rubik
February 24, 2009, 2:20pm
10
jakiego typu to jest błąd:
zamiasta nazwy_pliku.jpg w bazie zapisuje się
— !ruby/object:File {} , na stronie też wyskakuje to samo
wszystko to co jest powyżej jest zrobione
natomiast do katalogu public/data pliki dobrze się dodają czyli jako nazwa_pliku.jpg