2010-10-23 4 views
11

Ich verwende einen AJAX-Uploader in Rails 3, zusammen mit paper_clip und haben Dateien Hochladen hier:Rails, eine Datei Namen bekommen, wenn eine Datei auf den Server hochladen

def upload 

    @photo = Photo.create({ :photo => params[:file], :title => params[:filename] }) 

    respond_to do |format| 
     format.json 
    end 
    end 

Ich möchte das Foto des Titels eingestellt als der Dateiname des Fotos, weiß aber nicht wie, obwohl params [: file] die Datei hat und auf S3 hochgeladen wird.

Irgendwelche Ideen?

Dank

+0

@jamie - irgendwelche Ideen? – user479959

+1

@ user479959 Ich weiß es nicht ohne weiteres. Entweder die Büroklammer-Dokumentation durchblättern oder "params.inspect" anheben und prüfen, ob der Dateiname irgendwo da ist. –

Antwort

0

params [: Name], um den Namen der Anlage haben sollte und params [: mime_type], das zeigt der Mime-Typ in dem params verfügbar sein wird, die u verwenden kann. Nur um zu überprüfen, können Sie erhöhen params.inspect wie, wie Jamie Wong vorgeschlagen.

23

params[:file].original_filename hat den Dateinamen, nach dem Sie suchen.

+0

funktioniert sogar mit Rails 1.2.6. (Ich arbeite an einer Legacy-Codebasis) –

Verwandte Themen