Для моего проекта Ruby on Rails у меня есть форма, которая позволяет пользователю загружать файл (например, файл jpg для изображения).Я не хочу сохранять это изображение как файл в моем приложении.Однако я хочу извлечь строку base64 из загруженного изображения.
Так что для формы у меня (я использую Slim)
= form_tag somepath, method: :post, remote: true do
.form-group
= label_tag :file
= file_field_tag :file
Затем в контроллере у меня есть
def allowed_params
params.permit([:file])
end
Однако, когда я делаю File.open(allowed_params[:file], 'rb'){|f| f.read}
послезагружая файл photo.jpg
с помощью пользовательского интерфейса, я получил ошибку Errno::ENOENT Exception: No such file or directory @ rb_sysopen - C:\fakepath\photo.jpg
Я попытался Base64.encode64(File.open('someotherfile.jpg').read)
, где someotherfile.jpg
- это файл, который, я знаю, где он и действителен, и он сработал хорошо.
Есть предложения?Заранее спасибо.