2016-09-01 3 views
0

Я готов загрузить файл на сервер без использования какого-либо драгоценного камня. Ниже то, что я пробовал:Как загрузить файлы на сервер в rails?

следующее функция, я создал в модальный:

def self.file_upload(uploaded_file) 
    puts uploaded_file 
    file = Tempfile.new(uploaded_file, 'http://52.41.99.60/GEMWebservices/Image') 

    returning File.open(file.path, 'w') do |f| 
     f.write file.read 
     f.close 
    end 
    end 

Я использовал выше функции в создании acrion следующим образом:

@file_upload = User.file_upload(params[:uploaded_file]) 

Но я получаю следующую ошибку:

unexpected prefix: #<ActionDispatch::Http::UploadedFile:0x007fa0909fbe00 @tempfile=#<Tempfile:/var/folders/tt/d903z3v94sbgr8yymqxn_m0m0000gn/T/RackMultipart20160829-27648-gzgzt8.jpeg>, @original_filename="kaka.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"uploaded_file\"; filename=\"kaka.jpeg\"\r\nContent-Type: image/jpeg\r\n"> 

Может ли кто-нибудь помочь мне? Заранее спасибо.

ответ

1

Попробуйте этот код:

def file_upload(file) 
    file_path = '/GEMWebservices/Image/'+file.original_filename 
    File.open(Rails.root.join('public', 'GEMWebservices','Image',file.original_filename), 'wb') do |f| 
    f.write(file.read) 
    end 
    file_path 
end 

в действии:

@file_upload = file_upload(params[:uploaded_file]) 
Смежные вопросы